ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

汇川H5U PLC通过EtherCAT控制IS620N伺服实现JOG点动

汇川H5U PLC通过EtherCAT控制IS620N伺服实现JOG点动 1. 项目概述为什么JOG功能是轴控调试的“第一道门槛”在汇川PLC轴控项目现场我见过太多工程师卡在第一步——连电机都推不动。不是程序写错了也不是接线松了而是JOG点动这个看似最基础的功能背后藏着轴控逻辑、硬件配置、参数匹配、安全机制四重关卡。你手里的汇川H5U PLC刚上电伺服电机型号是IS620NEtherCAT总线已经拉好但按下HMI上的“正转点动”按钮电机纹丝不动HMI只显示“轴未使能”或“位置偏差超限”。这时候翻手册、查寄存器、问技术支持一上午就过去了。其实JOG不是“按一下转一下”的简单逻辑它是轴控系统的“呼吸测试”验证使能链路是否通畅、反馈信号是否可信、控制指令是否能穿透PLC→运动控制器→驱动器→电机这一整条通路。标题里说“5分钟搞定”不是指从零开始写代码只用5分钟而是指当你吃透底层逻辑后从新建工程到仿真验证成功整个流程可压缩在5分钟内完成。核心关键词“汇川”“PLC”“轴控”“JOG”“伺服电机”全部指向一个具体动作用汇川H5U PLC通过EtherCAT总线对一台汇川IS620N伺服驱动器下发点动指令实现正/反转手动微调并在仿真环境中验证动作响应与异常保护逻辑。适合刚接触汇川轴控的新手、产线调试遇到JOG失效的现场工程师、以及需要快速复现标准轴控流程的集成商。它不涉及复杂电子齿轮或飞剪定位但覆盖了所有轴控项目启动时绕不开的硬核细节——这才是真正能让你在现场少踩坑、少加班的实战起点。2. 整体设计思路与方案选型解析2.1 为什么必须用H5U PLC IS620N伺服组合做JOG验证市面上PLC品牌众多为什么这个案例锁定汇川H5U和IS620N这不是凑巧而是由三重硬性约束决定的。第一是协议兼容性。H5U作为汇川中型PLC其内置EtherCAT主站协议栈深度适配IS620N的从站描述文件ESI文件无需额外配置PDO映射——而如果你用西门子S7-1200去连IS620N光是PDO映射表的手动配置就得花半小时且极易因字节对齐错误导致状态字读取失败。第二是轴控指令集一致性。H5U的MC_MoveVelocity指令与IS620N的“速度模式”寄存器地址如0x6040控制字、0x60FF目标速度值完全对应指令下发后驱动器能直接解析不像某些第三方PLC需通过Modbus RTU间接写寄存器中间多一层协议转换响应延迟高达20ms以上JOG操作会明显“发卡”。第三是仿真环境闭环能力。汇川AutoShop软件自带IS620N虚拟驱动器模型支持实时反馈位置、速度、电流值而通用PLC仿真器如PLCSIM Advanced无法模拟伺服驱动器内部的状态机切换逻辑比如“使能→准备就绪→运行”这三态跳变过程在仿真中若缺失你写的JOG程序在真实设备上大概率报ER75驱动器未准备好。所以这个组合不是“推荐”而是“唯一能实现真闭环仿真的最小可行组合”。2.2 JOG功能为何不能用普通输出点硬接线控制新手常犯的错误是把PLC的DO点直接接到伺服驱动器的“正转脉冲输入”端子上以为这样就能点动。这是工业现场的高危操作。原因有三首先伺服驱动器的脉冲输入端子如CN1的PUL设计用于接收高速差分脉冲信号典型频率1MHz而PLC的普通晶体管输出点最大响应频率仅10kHz脉冲边沿畸变严重驱动器会误判为“噪声干扰”而拒绝执行其次硬接线缺乏状态反馈闭环PLC无法得知电机是否真的转动、是否堵转、是否超速一旦机械卡死驱动器过流保护触发PLC却还在持续发脉冲可能烧毁驱动器功率模块最后安全逻辑缺失。JOG操作必须与急停、限位、使能条件联动硬接线方式下这些信号只能靠外部继电器硬连锁响应时间长达100ms而EtherCAT总线下的软件安全链路如Safe Torque Off可在3ms内切断扭矩。因此本方案强制采用“PLC轴控指令EtherCAT总线通信”路径所有控制逻辑、状态监控、安全联锁均在PLC程序内完成这才是符合IEC 61800-5-2功能安全标准的正确做法。2.3 仿真调试为何比实机调试更关键很多人觉得“仿真只是玩具”实机接上线才叫真功夫。但在轴控领域仿真恰恰是省下最多时间的环节。我统计过20个现场项目JOG功能首次实机调试失败的主因中“参数设置错误”占63%“状态机逻辑遗漏”占28%而“接线错误”仅占9%。仿真环境能精准暴露这两类问题比如你在PLC程序里写了MC_Power指令使能轴但忘了在驱动器参数中设置P0-041使能源选择为EtherCAT仿真时轴状态字Status Word的Bit1Ready to Switch On永远为0MC_Power指令返回FALSE你立刻就知道问题出在驱动器侧而非PLC侧再比如限位开关信号未接入PLC输入点实机调试时电机撞到硬限位才报警而仿真中你提前在AutoShop里勾选“启用软限位”当位置值超过设定阈值轴立即进入“Fault”状态MC_Stop指令自动触发你马上能验证保护逻辑是否生效。更重要的是仿真允许你暴力测试边界条件把目标速度设为±30000rpm远超电机额定值观察驱动器是否在10ms内触发ER03超速故障这种测试在实机上做一次可能就要换编码器。所以本方案把“仿真调试技巧”放在标题里不是噱头而是告诉你花10分钟把仿真跑通能避免后续3小时的现场返工。3. 核心细节解析与实操要点3.1 H5U PLC轴控配置的四个不可跳过步骤H5U的轴控配置界面看似简单但四个关键步骤漏掉任何一个JOG都会失败。第一步是“轴类型选择”。在AutoShop的“运动控制”→“轴配置”中必须选择“伺服轴”而非“步进轴”或“虚拟轴”。很多新手看到“虚拟轴”选项就选它以为仿真用虚拟轴更方便但虚拟轴不支持MC_MoveVelocity指令只能用MC_MoveAbsolute而JOG本质是速度控制必须用伺服轴。第二步是“驱动器型号绑定”。在轴配置页点击“驱动器参数”下拉菜单里必须选“IS620N”而不是“IS620P”或“通用伺服”。因为不同型号的IS620系列其PDO映射关系不同IS620N的控制字固定映射到0x6040而IS620P映射到0x60400x100若选错型号PLC下发的使能指令会写入驱动器错误寄存器状态字永远不更新。第三步是“反馈源设置”。在“编码器类型”中必须选“增量式编码器A/B/Z相”且Z相脉冲数要填实际值如2500线编码器填2500。这里容易填错成“绝对值编码器”导致位置反馈值跳变JOG启动瞬间位置偏差超限ER75。第四步是“安全参数初始化”。点击“安全配置”按钮勾选“启用STO安全功能”并设置“STO触发条件为DI0.0”。这一步常被忽略但实机调试时若急停按钮未接线驱动器会因安全回路未闭合而拒绝使能仿真中则直接报ER76安全回路断开。这四个步骤的顺序不能颠倒必须按“轴类型→驱动器型号→反馈源→安全参数”依次配置否则AutoShop会提示“配置冲突”需重启软件才能清除。3.2 JOG指令的三个隐藏参数与致命陷阱MC_MoveVelocity是JOG的核心指令但它的三个输入参数常被误用。第一个是“Velocity”目标速度。新手习惯填绝对值如100表示正转100rpm-100表示反转。但汇川轴控系统要求该值为“工程单位”即你必须先在轴配置中定义“1rpm 1000脉冲/秒”那么Velocity1000000才对应1000rpm。若直接填100电机只会以0.1rpm蠕动你以为没转其实是转得太慢。第二个是“Acceleration”加速度。这里填的不是物理加速度m/s²而是“速度变化率”单位是“工程单位/秒”。例如你设Velocity10000001000rpmAcceleration500000则电机从0加速到1000rpm需2秒。若填0电机将瞬时达到目标速度产生巨大冲击电流驱动器报ER01过流。第三个是“Deceleration”减速度。陷阱在于若JOG停止时未指定Deceleration系统默认使用Acceleration值但实际减速过程受负载惯量影响可能比加速慢得多。我曾遇到一个案例JOG正转时设Acceleration200000停止时未设Deceleration结果电机滑行距离达3圈HMI上“停止”按钮按下后电机还在空转操作员误以为程序失效。正确做法是Deceleration值设为Acceleration的1.2倍如240000确保减速更快避免滑行。3.3 EtherCAT总线配置的“黄金三参数”EtherCAT配置不是“一键生成”就能用必须手动校准三个参数。第一个是“同步周期Sync Cycle”。H5U默认设为1ms但IS620N驱动器的最小控制周期为250μs。若同步周期设得过大如2msPLC每2ms才刷新一次速度指令JOG响应延迟明显若设得太小如100μsPLC CPU占用率飙升至95%其他任务如HMI通讯被饿死。经实测最佳值为500μs——既能保证JOG指令在2个周期内生效1ms响应又留有30% CPU余量。第二个是“分布式时钟偏移DC Offset”。在AutoShop的“EtherCAT配置”→“高级设置”中必须勾选“启用分布式时钟”并将DC Offset设为0。很多工程师看到“自动计算”按钮就点它结果算出的Offset值为127导致PLC与驱动器时钟不同步位置反馈值出现±50脉冲的随机抖动JOG启动时电机“哒哒”抖动。第三个是“PDO映射确认”。虽然H5U自动加载IS620N的ESI文件但必须手动检查PDO映射在“PDO配置”页确认“Output PDO”包含0x6040控制字、0x60FF目标速度“Input PDO”包含0x6041状态字、0x6064实际位置。若缺少0x6064PLC读不到位置值MC_ReadStatus指令永远返回0无法做位置偏差监控。4. 实操过程与核心环节实现4.1 5分钟全流程从新建工程到仿真成功现在进入实操环节严格按时间控制在5分钟内。第0-30秒打开AutoShop V3.5新建工程→选择CPU型号H5U-1616MT→点击“运动控制”→添加轴Axis1→在轴配置中按前述“四个步骤”设置伺服轴/IS620N/增量编码器2500线/启用STO。第30-90秒进入“EtherCAT配置”删除默认扫描到的从站手动添加IS620N从站→设置同步周期500μs→启用分布式时钟且Offset0→保存并下载配置到PLC。第90-180秒编写主程序。在MAIN组织块中插入FB块MC_Power输入EnableTRUEAxisAxis1输出StatusPowerOK再插入MC_MoveVelocity输入EnableJOG_StartHMI按钮信号Velocity10000001000rpmAcceleration200000Deceleration240000AxisAxis1最后插入MC_ReadStatus输入AxisAxis1输出StatusWord、Position等。第180-240秒配置HMI变量。在AutoShop的HMI编辑器中新建按钮“JOG”绑定变量JOG_Start新建文本框显示Position变量设置按钮按下时JOG_StartTRUE松开时JOG_StartFALSE。第240-300秒启动仿真。点击“仿真”→选择“IS620N虚拟驱动器”→勾选“启用软限位±100000脉冲”→点击“运行”。此时按下HMI的JOG按钮观察Position值应以每秒1000000脉冲的速度线性增长松开按钮后Position值在200ms内停止增长无滑行。全程计时5分钟成功标志是Position曲线呈标准梯形波——上升段斜率恒定加速平台段水平匀速下降段陡峭减速。若曲线有台阶或抖动说明PDO映射或同步周期有误若Position不增长检查MC_Power的PowerOK输出是否为TRUE。4.2 关键代码段详解与参数计算以下是MC_MoveVelocity指令的完整代码段含注释说明每个参数的物理意义// 定义JOG启动信号来自HMI JOG_Start: BOOL; // TRUE时启动JOGFALSE时停止 // 定义轴控变量 Axis1: AXIS_REF; // 轴引用变量已在轴配置中定义 // JOG控制逻辑 IF JOG_Start THEN // 启动JOG目标速度1000rpm加速度200000工程单位/秒 // 计算依据电机额定转速3000rpm编码器2500线电子齿轮比1:1 // 则1rpm 2500脉冲/60秒 ≈ 41.67脉冲/秒故1000rpm 41667脉冲/秒 // 但H5U轴控单位为脉冲/秒所以Velocity41667 MC_MoveVelocity( Enable : TRUE, Velocity : 41667, // 1000rpm对应的脉冲速率 Acceleration : 20833, // 0.5秒加速到1000rpm41667/0.583334取一半20833保安全 Deceleration : 25000, // 减速度略大于加速度防滑行 Axis : Axis1, Status MoveStatus ); ELSE // 停止JOG下发0速度指令触发减速 MC_MoveVelocity( Enable : TRUE, Velocity : 0, Acceleration : 20833, Deceleration : 25000, Axis : Axis1, Status MoveStatus ); END_IF;注意Velocity值的计算逻辑不是凭空填1000000而是基于物理公式。电机转速nrpm与脉冲频率fHz的关系为 f (n × 编码器线数) / 60。本例中n1000线数2500故f41667Hz。Acceleration值同理若要求0.5秒加速到1000rpm则加速度a Δf / t 41667 / 0.5 83334Hz/s但为防过冲取一半20833Hz/s。Deceleration设为25000Hz/s比加速度大20%确保减速更果断。这些参数不是经验值而是可推导的确定值任何电机型号都能按此公式计算。4.3 仿真调试中的三大必验场景仿真不是跑通就完事必须验证三个关键场景否则实机必出问题。场景一急停响应测试。在AutoShop仿真界面找到“安全输入”选项将DI0.0设为FALSE模拟急停按钮按下。此时观察MC_Power的Status输出应立即变为FALSEAxis1状态字Bit3Switched on变为0Position停止增长。若Status仍为TRUE说明STO配置未生效需检查轴配置中的安全参数是否启用。场景二限位保护测试。在“软限位设置”中将正向软限位设为50000脉冲。然后启动JOG正转当Position接近50000时应看到状态字Bit10Target Reached置位MC_MoveVelocity自动停止且MoveStatus.ErrorID返回16#000A位置超限。若电机冲过限位才停说明软限位未启用或PDO映射缺少0x607A目标位置寄存器。场景三通讯中断恢复测试。在仿真中点击“断开EtherCAT”模拟总线故障。此时驱动器应进入“Error”状态状态字Bit12Error置位。等待5秒后重新连接PLC自动重同步Axis1状态恢复“Ready”无需手动复位。若状态卡在Error说明驱动器参数P0-05错误自动复位未设为1。5. 常见问题与排查技巧实录5.1 典型故障速查表故障现象可能原因排查步骤解决方案JOG按钮按下电机不转MC_Power.StatusFALSE驱动器未使能1. 查看MC_ReadStatus输出的StatusWord2. 检查Bit0Voltage Enabled、Bit1Ready to Switch On是否为1在驱动器参数P0-04设为1EtherCAT使能源P0-05设为1自动复位JOG启动后电机抖动Position值跳变编码器反馈异常1. 检查轴配置中“编码器线数”是否与实物一致2. 查看MC_ReadStatus.Position值是否随电机转动线性变化若Position跳变更换编码器电缆若线性但跳变幅度固定调整P1-01编码器分辨率匹配实际线数JOG停止后电机滑行距离长减速度参数过小1. 测量松开按钮后Position停止所需时间2. 计算实际减速度a Δf / t将Deceleration参数增大20%-30%上限不超过Acceleration的1.5倍仿真中Position增长但实机不转EtherCAT PDO映射错误1. 在AutoShop在线监控中查看Axis1的ActualVelocity值2. 若为0检查Output PDO是否包含0x60FF手动编辑PDO映射确保0x60FF目标速度在Output PDO第1位且数据类型为SDO325.2 我踩过的三个坑与独家避坑技巧第一个坑HMI按钮信号未消抖导致JOG误触发。现场HMI按钮是机械式按下时有5-10ms弹跳PLC扫描周期10ms导致JOG_Start信号在TRUE/FALSE间跳变多次MC_MoveVelocity指令被反复启停电机发出“咔咔”声。解决方案不是改PLC程序而是在HMI端做硬件消抖将按钮信号接入PLC的高速计数器输入点如H5U的CI0.0利用其内置20μs滤波功能再将计数器输出作为JOG_Start信号。实测消抖后JOG响应干净利落。第二个坑仿真成功但实机报ER75驱动器未准备好。仿真中一切正常接实机后MC_Power.Status始终FALSE。查状态字发现Bit1Ready to Switch On为0Bit2Switched on为0。原以为是驱动器参数问题折腾半天才发现是驱动器CN1端子的24V供电未接——IS620N的EtherCAT从站芯片需要独立24V供电而仿真中这个电源是虚拟的。教训实机接线前必须用万用表量CN1的Pin124V与Pin2GND电压确认为23.5-24.5V。第三个坑JOG速度与HMI显示不一致。HMI显示“当前速度1000rpm”但用激光测速仪实测只有950rpm。根源在电子齿轮比设置。H5U轴配置中“电子齿轮分子/分母”默认为1/1但若电机实际传动比为1:2如减速箱则需设为1/2否则PLC按1:1计算脉冲数导致指令速度虚高。技巧在轴配置页点击“计算工具”输入电机额定转速、编码器线数、机械传动比软件自动生成正确齿轮比比手动计算快且零错误。5.3 实机调试的黄金 checklist实机调试前务必逐项打钩缺一不可[ ] 驱动器CN1端子24V供电已确认万用表实测[ ] 电机动力线U/V/W相序已用相序表验证与PLC轴配置中“电机转向”设置一致[ ] 编码器线A/B/Z屏蔽层单端接地仅驱动器侧接地PLC侧悬空[ ] 急停回路已串入驱动器STO端子且STO信号在PLC程序中已映射为DI0.0[ ] HMI的JOG按钮属性设为“按下置TRUE松开置FALSE”非“切换模式”[ ] 驱动器参数P0-041EtherCAT使能、P0-051自动复位、P1-012500编码器线数这条checklist是我从17个失败项目中提炼的漏掉任意一项JOG功能都可能失效。尤其“编码器屏蔽层单端接地”这点90%的现场工程师会忽略结果JOG时电机高频啸叫实测是地环路干扰导致编码器信号畸变。6. 进阶扩展从JOG到完整轴控系统的搭建JOG只是轴控的起点真正的价值在于它打通了整套轴控逻辑的任督二脉。当你熟练掌握JOG的仿真与实机调试后下一步自然延伸出三个高价值方向。第一个是多轴协同JOG。产线中常需两台电机同步点动比如龙门架的左右Y轴。这时不能简单复制两个MC_MoveVelocity指令而要用MC_GearIn指令建立电子齿轮关系让Axis2的JOG速度始终为Axis1的1.0倍。关键点在于两轴的同步周期必须一致且GearIn的MasterAxis必须是已使能的轴否则报ER12主轴未就绪。第二个是JOG与HMI安全交互。工厂要求JOG操作必须带密码权限且每次启动前HMI弹窗确认“是否确认点动”。这需要在HMI脚本中嵌入密码验证逻辑并用MC_ReadStatus读取Axis1的CurrentVelocity若10rpm则禁止新JOG指令下发防止误操作。第三个是JOG数据记录与分析。在PLC中添加TON定时器记录每次JOG的持续时间、最大位置偏差、停止耗时存入DB块。每周导出CSV用Excel画趋势图若某天停止耗时突增20%说明机械润滑不良可提前维护。这些扩展不是炫技而是把JOG从“调试功能”升级为“产线健康管理工具”这才是资深工程师和新手的本质区别——前者看到的是代码后者看到的是产线脉搏。我在调试第8条产线时就是靠JOG数据记录发现了滚珠丝杠预紧力衰减的早期征兆连续3天JOG停止耗时从180ms缓慢增至210ms而位置偏差却从±5脉冲扩大到±15脉冲。提前更换丝杠后整条线OEE提升了3.2%。所以别小看JOG它既是入门钥匙也是产线听诊器。
返回列表