ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

汇川H5U PLC与EtherCAT总线伺服控制实战指南

汇川H5U PLC与EtherCAT总线伺服控制实战指南 1. 项目缘起与整体方案设计1.1 为什么选H5U加EtherCAT这套组合汇川H5U这台PLC在小型自动化设备里出镜率很高本体自带EtherCAT主站口不用额外插模块就能挂总线伺服这一点对成本敏感的产线改造项目来说非常关键。我最早接触H5U是在一条包装线上原来用的是脉冲控制四轴联动的时候接线一大堆调试时稍微有点干扰就丢脉冲后来换成EtherCAT总线方案一根网线串起四台伺服接线量直接砍掉大半定位精度也稳了。EtherCAT本身是实时工业以太网协议采用主从架构主站发送数据帧经过每个从站时从站芯片在数据帧“路过”的瞬间就把自己的数据读写完成不需要整帧接收再处理所以循环周期可以做到很短。H5U作为主站典型循环周期能跑到1ms甚至更低对于大多数点位控制和速度控制场景完全够用。AutoShop是汇川自家的编程软件把EtherCAT组态、轴配置、功能块调用都集成在一个界面里不用在多个工具之间来回切换这是它比一些通用方案省心的地方。这套方案适合谁如果你手上有H5U要控制汇川SV660系列或者其他支持EtherCAT的伺服做位置控制或者速度控制那这篇内容基本可以照着走。就算你用的是别的品牌伺服只要支持标准EtherCAT协议组态思路也是一样的区别主要在PDO映射和对象字典的细节上。1.2 整体控制架构拆解整个系统的数据流是这样的AutoShop里配置好EtherCAT网络扫描到从站伺服然后建立轴对象轴对象通过PDO过程数据对象和伺服驱动器交换数据。主站每个循环周期发一次过程数据里面包含控制字、目标位置、目标速度这些从站返回状态字、实际位置、实际速度这些。程序里调用运动控制功能块功能块把指令翻译成PDO数据主站硬件负责发出去。位置控制和速度控制的区别在于工作模式。位置模式走的是CSP循环同步位置或者PP轮廓位置模式速度模式走的是CSV循环同步速度或者PV轮廓速度模式。H5U的轴配置里可以直接选模式选完之后PDO映射会自动调整不需要手动去改对象字典这是AutoShop比较人性化的一点。提示EtherCAT组态之前先把伺服的站号设好。汇川伺服默认站号是1如果挂多台每台都要改站号不能重复。站号一般在伺服面板里改改完断电重启才生效。2. 硬件接线与软件环境准备2.1 硬件清单与接线要点先列一下需要的东西。PLC用H5U任意型号只要带EtherCAT口就行一般本体上标着“EtherCAT”的那个网口就是。伺服方面汇川SV660N或者SV670N都支持EtherCAT选型的时候注意看型号里有没有“N”后缀有N的才是总线型。电机按实际负载选选型手册里根据扭矩和转速查就行这里不展开。接线就简单了H5U的EtherCAT口接到第一台伺服的IN口第一台伺服的OUT口接到第二台伺服的IN口依次串下去。最后一台的OUT口空着或者接终端电阻。网线用标准超五类屏蔽网线长度别超过100米实际项目里一般几米到十几米完全没问题。注意EtherCAT网线一定要用屏蔽线屏蔽层要可靠接地。我遇到过因为网线没屏蔽导致通讯偶发丢帧的情况换了屏蔽线立马就好了。另外伺服的动力线和编码器线尽量远离通讯线走线槽里分开走减少干扰。电源方面H5U用24V直流供电伺服主回路根据电机功率接三相或单相交流控制回路也是24V。上电顺序建议先给伺服控制电再给PLC电最后给伺服主电这样避免上电瞬间通讯异常。2.2 AutoShop软件安装与工程创建AutoShop在汇川官网可以下载安装过程没什么坑一路下一步就行。装完之后打开新建工程选择对应的PLC型号H5U系列选“H5U”就行。工程建好之后左边项目树里能看到“EtherCAT配置”这一项双击进去就是总线组态界面。软件版本建议用比较新的老版本可能不支持某些伺服型号的XML文件。汇川伺服的EtherCAT XML文件ESI文件在官网下载或者随伺服附带的光盘里都有AutoShop组态的时候需要加载这个文件才能识别到伺服。如果扫描不到从站八成是ESI文件没装或者版本不对。2.3 EtherCAT从站扫描与组态在EtherCAT配置界面里点“扫描”按钮软件会自动扫描总线上挂的从站。扫描之前确保PLC和伺服都上电网线接好。扫描到之后从站会出现在列表里显示站号、名称、版本这些信息。扫描到从站之后需要把从站添加到组态里。选中从站点“添加”然后配置PDO映射。AutoShop一般会自动加载默认的PDO映射对于位置和速度控制默认映射通常就够用了。如果不够用可以手动添加对象比如要读伺服的实际扭矩就得把扭矩对象加到输入PDO里。配置项位置模式速度模式工作模式CSP或PPCSV或PV控制字0x60400x6040状态字0x60410x6041目标位置0x607A不适用目标速度0x60FF0x60FF实际位置0x60640x6064实际速度0x606C0x606C这张表是核心PDO映射就是围绕这些对象来的。位置模式下重点看0x607A和0x6064速度模式下重点看0x60FF和0x606C。控制字和状态字两种模式都要用控制字用来使能、启动、停止状态字用来读伺服当前状态。3. 轴配置与功能块编程实操3.1 建立轴对象与参数设置组态完从站之后下一步是建立轴对象。在项目树里找到“运动控制”或者“轴配置”新建一个轴绑定到刚才组态的EtherCAT从站。一个从站对应一个轴几台伺服就建几个轴。轴参数里几个关键项要设对。一个是“轴类型”选“总线轴”或者“EtherCAT轴”不同版本叫法可能不一样。另一个是“单位换算”这个很重要要把脉冲数换算成毫米或者度。比如伺服编码器是23位一圈是8388608个脉冲丝杠导程是10mm那一个脉冲对应的距离就是10除以8388608约等于0.00000119mm。在软件里填好“每转脉冲数”和“每转距离”软件会自动算。提示单位换算设错了位置就会差一个比例系数。调试的时候先用手动模式走一段固定距离量一下实际走了多少反推一下比例对不对。这个步骤别省省了后面程序里怎么调都调不准。速度参数方面要设最大速度、加减速时间这些。最大速度根据电机额定转速和机械结构算加减速时间根据负载惯量来一般先设个保守值调试的时候再优化。3.2 位置控制功能块的使用AutoShop里位置控制常用的功能块有MC_Power、MC_MoveAbsolute、MC_MoveRelative、MC_MoveVelocity、MC_Stop这些跟PLCopen标准运动控制功能块是一致的。用起来跟西门子、三菱的类似学过其他品牌的话上手很快。MC_Power是使能功能块Enable引脚给TRUE轴就使能了。使能之后Status引脚变TRUEBusy变FALSE表示轴准备好了。如果使能不了看Error引脚和ErrorID常见原因是伺服没上电、通讯没建立、或者伺服有报警没复位。MC_MoveAbsolute是绝对定位给定目标位置、速度、加减速功能块执行完Done引脚变TRUE。Execute引脚用上升沿触发触发一次走一次。目标位置是绝对坐标相对于原点。原点怎么定可以用回零功能块MC_Home也可以用伺服自己的原点开关。回零方式在轴参数里选有找Z相信号、找原点开关加Z相、直接设当前位置为零点等几种。MC_MoveRelative是相对定位走的是相对于当前位置的距离。Execute上升沿触发走完Done变TRUE。相对定位适合那种不需要知道绝对位置、只走固定距离的场景比如送料、推料。MC_MoveVelocity是速度控制功能块给定速度值轴就按这个速度一直转直到收到停止指令或者触发其他条件。Direction引脚控制方向0是正转1是反转。这个功能块在速度模式下用位置模式下也能用但底层实现不一样。3.3 速度控制功能块的使用速度控制比位置控制简单一些核心就是MC_MoveVelocity。使能轴之后调用MC_MoveVelocity给个速度值轴就转起来了。速度值单位是用户单位每秒比如mm/s或者度/s取决于轴参数里的单位换算。速度模式下如果要读实际速度用MC_ReadActualVelocity功能块输出就是当前速度。要读实际位置用MC_ReadActualPosition速度模式下位置也会变只是不控制位置而已。速度控制的一个典型应用是收放卷。收卷轴用速度模式根据卷径变化调整速度保持线速度恒定。这时候需要实时读卷径算目标速度然后写给MC_MoveVelocity。卷径怎么算可以用超声波测距也可以用编码器算看具体机械结构。注意速度模式下切换方向的时候最好先减速到零再反向直接反向对机械冲击很大。我见过直接反向把联轴器拧断的案例减速时间设长一点让电机有个缓冲。3.4 功能块调用顺序与状态机设计功能块不能乱调要有顺序。典型的状态机是这样的先MC_Power使能等Status为TRUE然后判断是位置模式还是速度模式位置模式调MC_MoveAbsolute或MC_MoveRelative速度模式调MC_MoveVelocity运行过程中监控Error和Status要停的时候调MC_Stop或者把速度给零。每个功能块的Execute引脚都要用上升沿触发不能一直给TRUE否则功能块会反复执行。用PLC的上升沿指令比如上升沿触点或者功能块自带的Execute上升沿检测。AutoShop里功能块的Execute引脚本身就是上升沿有效的给一个扫描周期的脉冲就行。状态机用梯形图或者ST语言写都行。梯形图直观适合逻辑简单的场景ST语言适合复杂逻辑写起来紧凑。我一般用ST写状态机用CASE语句分状态每个状态里调对应的功能块清晰好维护。4. 调试过程与常见问题排查4.1 通讯建立与轴使能调试第一次调试先别急着写程序先把通讯和使能调通。上电之后在AutoShop的EtherCAT配置界面看从站状态正常应该是“OP”状态如果是“INIT”或者“PREOP”说明通讯没建立。检查网线、站号、ESI文件这三个是最常见的原因。通讯正常之后在轴配置界面点“使能”按钮看伺服能不能使能。使能成功的话伺服面板上会显示“run”或者类似的指示。如果使能失败看错误码汇川伺服的错误码手册里有常见的有编码器故障、过载、欠压这些。使能之后用手动模式点动一下看电机转不转方向对不对速度对不对。手动模式在轴配置界面里有给个速度值点正转反转电机应该按预期转动。如果方向反了改轴参数里的方向取反或者改伺服参数里的方向。4.2 位置控制精度问题排查位置控制最常见的问题是定位不准。原因可能有几个一是单位换算错了这个前面说过用手动模式验证二是机械间隙丝杠或者齿轮有间隙反向的时候会有偏差这个靠程序补偿或者机械调整三是伺服增益没调好定位的时候有超调或者振荡用AutoShop的伺服调试工具调增益。还有一个容易被忽略的是原点偏移。回零之后原点位置和机械零点可能差一点可以在轴参数里设原点偏移量补偿这个差值。偏移量怎么定回零之后手动走到机械零点读当前位置把这个值填到偏移量里。提示调试位置精度的时候用千分表或者激光测距仪量实际位置别靠眼睛看。眼睛看误差至少0.5mm千分表能到0.01mm差别很大。4.3 速度控制稳定性问题排查速度控制常见的问题是速度波动。原因可能是负载变化、增益不够、或者速度指令本身在变。如果是负载变化导致的调大速度环增益或者加前馈补偿。如果是速度指令在变检查程序里速度值的来源是不是有干扰或者计算错误。速度模式下还有一个问题是低速爬行。电机在很低的速度下转不平稳一顿一顿的。这是伺服低速特性决定的可以调小速度环积分时间或者用位置模式代替速度模式位置模式低速性能通常更好。问题现象可能原因排查方法解决措施通讯不上网线、站号、ESI检查接线和站号换屏蔽网线改站号重装ESI轴使能失败伺服报警、通讯未建立看伺服面板和错误码复位报警检查通讯状态定位不准单位换算、机械间隙手动模式验证改换算参数机械调整速度波动增益、负载变化监控速度曲线调增益加前馈低速爬行伺服低速特性低速测试调积分时间改位置模式这张表是我调试时总结的基本上覆盖了八成以上的问题。遇到问题先查表查不到再深入分析。4.4 实操心得与避坑经验说几个我踩过的坑。第一个是ESI文件版本汇川伺服不同批次的ESI文件可能不一样用错了版本组态会报错。解决办法是每次都用随伺服附带的ESI文件别图省事用旧的。第二个是PDO映射默认映射有时候不够用比如要读扭矩默认映射里没有。这时候要手动加加完之后要重新下载组态不然不生效。加PDO的时候注意输入输出别搞反了输入是从站到主站输出是主站到从站。第三个是循环周期H5U的EtherCAT循环周期设太小了CPU负载高设太大了响应慢。一般1ms到4ms之间根据轴数和程序复杂度调。轴多、程序复杂就设大一点轴少、要求高就设小一点。第四个是接地EtherCAT通讯对干扰敏感接地不好容易丢帧。PLC和伺服的PE端子都要可靠接地接地电阻小于4欧姆。网线屏蔽层两端都要接地别只接一端。5. 程序优化与扩展应用5.1 程序结构优化建议程序写大了之后要分模块。我一般把轴控制封装成功能块每个轴一个功能块实例输入输出用结构体这样主程序里看起来很清爽。功能块内部处理使能、定位、速度、停止这些逻辑外部只需要给指令和读状态。状态机用ST写每个轴一个CASE语句状态包括Idle、PowerOn、Homing、Moving、Stopping、Error。状态之间用条件跳转比如PowerOn状态等Status为TRUE就跳到IdleIdle状态收到定位指令就跳到MovingMoving状态等Done为TRUE就跳回Idle。Error状态处理错误错误清除后跳回Idle。提示功能块实例要放在静态变量区别放在临时变量区否则每个扫描周期都重新初始化状态保持不住。这个坑我踩过调了半天才发现是变量类型的问题。5.2 多轴同步与插补应用H5U支持多轴同步可以做简单的插补。比如XY平台走直线两个轴同时动保持速度比例。用MC_MoveLinearAbsolute功能块给定终点坐标和速度两个轴会自动协调。插补精度取决于循环周期和伺服响应周期越小精度越高。多轴同步的难点是轴之间的耦合。比如一个轴是主轴另一个是从轴从轴位置跟随主轴。这种用电子齿轮或者电子凸轮功能H5U支持这些。电子齿轮就是从轴速度等于主轴速度乘以一个比例比例可以实时改。电子凸轮是从轴位置是主轴位置的函数函数关系用凸轮表定义。5.3 与上位机通讯和数据采集H5U本身支持Modbus TCP和EtherNet/IP可以和上位机通讯。上位机读PLC的数据包括轴状态、实际位置、实际速度、报警信息这些。写数据可以改速度、改目标位置、启动停止。数据采集用PLC的变量记录功能或者上位机轮询。轮询周期别太快100ms到500ms就行太快了PLC通讯负载高。要高速采集的话用PLC内部的高速记录功能先存到PLC内存再批量传给上位机。5.4 后续扩展方向这套方案后续可以扩展的地方不少。比如加视觉视觉定位之后把坐标给PLCPLC控制轴走到位置。或者加力控读伺服扭矩做力位混合控制。再或者加安全功能接安全PLC或者安全继电器做安全停止。EtherCAT本身也支持更多从站类型除了伺服还可以挂IO模块、编码器模块、阀岛这些。H5U的EtherCAT主站能力有限挂太多从站循环周期会变长一般挂十几二十个从站没问题再多就要考虑换更高级的PLC了。我个人在实际操作中的体会是这套方案最大的优势是省心。接线省心组态省心编程也省心。AutoShop把很多底层细节封装好了不用去啃EtherCAT协议栈也不用去记对象字典选好模式调好参数就能跑。当然省心的代价是灵活性差一点有些特殊需求可能实现不了但对于大多数常规应用来说完全够用了。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表