十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

基于汇川H5U与MCGS触摸屏的三轴示教系统设计与实现

基于汇川H5U与MCGS触摸屏的三轴示教系统设计与实现 简介汇川H5U与mcgs触摸屏简易示教系统是一套面向自动化专业学生、PLC初学者及现场工程师的可编程示教源码包支持离线仿真可在源码基础上自由修改与二次开发注释明确适合从零理解三轴运动控制、触摸屏画面组态及联调逻辑。资源共11个文件压缩包约516KB以txt说明文档为主体辅以doc学习指南、html解析页与jpg界面/硬件图片系统拆解了技术分析、学习路径及深度解读目录结构清晰。已有393人学习浏览适合自学或课堂教学参考。通过源码与配套文档学习者可掌握H5U编程思路、mcgs组态设计、坐标示教流程及常见排错方法是一份高性价比的自动化入门实践素材。 刚开始学三轴示教这类项目的人最容易犯的毛病是手里有一套汇川H5U PLC又买了一台mcgs触摸屏但不知道该从哪里下手。说明书翻了几遍伺服也按网上的教程把参数填进去了程序下载完一点启动要么轴不动要么触摸屏上显示的坐标全是乱的。我自己前阵子也在这个阶段折腾了不少时间后来重新梳理了整套思路把三轴示教程序完整跑通。这篇文章就把我自己的实现过程、选型逻辑和踩坑记录整理出来尤其是H5U和mcgs触摸屏的配合方式希望给正在自学的人一个能直接照着做的参考。先交代一下我手里这套东西汇川H5U PLC配三台IS620N伺服驱动器和丝杆模组再加一台昆仑通态mcgs 10寸触摸屏网口通信。目标是做一个典型的三轴示教工作站——手动把这台设备推到任意位置按下记录按钮存一个点这样存下一串点再按自动运行设备按照存好的坐标顺序走一遍。这是点胶机、锁螺丝机、小型搬运设备最常见的控制思路。整篇内容覆盖硬件接线、伺服参数、程序结构、HMI界面开发和现场调试适合刚入手H5U或者对mcgs组态不熟的工程师阅读。1. 为什么选H5U加mcgs这套组合来研究三轴示教1.1 这套组合到底解决了什么问题三轴示教听起来简单其实是一个把PLC、伺服驱动、运动控制和HMI四个环节全串起来的项目。坐标点的记录、加减速的规划、回原点的逻辑、还有触摸屏上的人机交互每一块都有坑。很多人之所以学不动是因为只盯着PLC编程看忽略了触摸屏和数据存储的衔接。我选H5U主要是看中它的EtherCAT总线和中型PLC的运动控制能力。H5U做多轴插补、电子齿轮、位置比较输出这类功能比小型PLC直接用脉冲发步进的方式省心得多。尤其是在三轴联动场景里脉冲方案的接线复杂、故障排查困难而总线方案一根网线就能搞定。mcgs触摸屏这边作为国产组态软件的代表做这种小型设备的HMI足够用而且工程下载、在线模拟都方便学习成本不高网上资料也多。1.2 自购学习设备的成本构成既然是自费学习每一分钱都要花在刀刃上。这套硬件不是拿来跑演示的而是要真实带动三台伺服模组运动所以不能图便宜买那种没有实物反馈的玩具。实际配置大概是这样汇川H5U-1614MTD-A8一台EtherCAT主站支持16路输入、14路晶体管输出三套IS620N伺服驱动配400W或750W电机模组行程分别是X轴300mm、Y轴200mm、Z轴100mm昆仑通态mcgs TPC7062Ti 10寸触摸屏网口通信24V开关电源、急停按钮、原点接近开关、限位开关若干。这套配置买下来大约不到两万块钱。有人说学PLC用软件仿真就够了但三轴示教这种带机械负载的系统电机有没有抖、丝杆有没有间隙、原点开关的触发时机仿真根本演示不出来。自己花钱买设备的好处是敢拆、敢试、敢把参数改乱再救回来这种手感是看视频学不来的。2. 三轴示教的硬件接线与伺服参数动手前先想清楚这些事2.1 从EtherCAT接线到输入输出分配H5U与伺服驱动之间走EtherCAT总线物理上就是一根网线串联分别接上三个IS620N的X1/X2网口最后一个驱动器不用接终端电阻。这里有一个很常见的错误有些人会把H5U的网口同时拿来接伺服总线和mcgs触摸屏结果导致通信不稳定。H5U上通常有两个或多个网口我自己的做法是LAN1接触摸屏LAN2接伺服总线两个网段错开互不干扰。输入信号这块三个轴的左/右限位或上/下限位加上回原点开关一共9个输入点再加一个急停按钮接硬接线。需要特别注意的是急停必须用常闭触点接入PLC的输入端然后在程序里用常闭逻辑判断。这样一旦急停回路断线或者急停按下PLC能第一时间感知。限位开关建议全部接成常闭触点原因一样——断线会导致设备停在不该停的位置安全问题不能靠运气。2.2 把脉冲当量换算清楚再动手很多人做三轴示教时乱码、坐标跳变根子在位置换算一塌糊涂。皮带模组和丝杆模组转速比不同每毫米对应的脉冲数也完全不同。以我手里这个丝杆模组为例丝杆导程是10mm伺服电机编码器2500线驱动器电子齿轮比设置为4倍频也就是电机每转一圈PLC侧计10000脉冲那每毫米就是1000个脉冲。这个值在H5U的轴参数里要预先填好之后所有关于位置、速度的单位才能统一成毫米。具体在InoProShop里面新建轴组态时把单位设置成工程单位每转脉冲数填10000每转移动距离填10.0速度单位就变成毫米每秒。这一步做完后面无论是触摸屏上的坐标显示还是程序里的移动距离都不需要再反复乘来乘去了。如果这个换算关系不搞清楚等你看到mcgs屏上显示X轴走了7.85mm实际丝杆只动了一半再回来改参数就很痛苦。3. 点位记忆的核心逻辑示教程序的数据结构设计3.1 坐标点存在哪里三轴示教最核心的部分就是点位数据的存储。自动运行时PLC需要按顺序取出坐标并在三轴之间切换这要求数据存储结构必须清晰。简单粗暴的方案是把100个点的X、Y、Z坐标分别存进三组连续的寄存器区比如H5U的D100到D199存X坐标D200到D299存Y坐标D300到D399存Z坐标。每个点的坐标用32位浮点数保存一个坐标占用两个寄存器。当前示教的点号存在D10总点数存在D11。这里为什么用D区而不是M区因为D区是PLC的保持性寄存器断电之后数值不丢失示教好的点位即使在断电重启后依然能保留。这一点对实际设备很重要总不能每天开机都重新校一遍点位。H5U的D区容量足够大我用的D100到D399完全不会和系统工作区冲突。触摸屏读取D区也方便mcgs的Modbus TCP从站地址和PLC的D寄存器有固定映射关系后面会详细说。3.2 三大任务手动示教、自动运行、回原点整个程序逻辑可以拆成三个互不干扰的状态机手动示教态、自动运行态、回原点态。手动示教态里触摸屏上会有X/Y/Z三个轴各两个点动按钮按下时轴以设定的速度持续移动松开就停。操作人员把轴移动到目标位置后按下“记录点”按钮当前坐标连同点号一起写入对应D区点号自动加一。自动运行态则按顺序读取已存的点位坐标依次调用绝对定位指令。每走完一个点先判断是否所有点都执行完如果没完成就把点位索引加一继续执行下一个点。运行过程中如果按下暂停当前运动轴会触发暂停但坐标数据保持不变再按启动可以继续。停止按钮则会把整个运动流程复位。回原点态相对独立。启动自动运行前设备必须确认各轴都在原点位置。H5U里可以直接使用回原点功能块通过原点开关加Z相脉冲确定机械零点。回原点的速度要分成两段高速寻找原点开关碰到后切换低速爬行再找一次下降沿后停止。这样既保证了回零效率又保证了重复精度。4. H5U运动控制的关键细节使能、回原点与安全逻辑4.1 轴使能和急停怎么设计才不打架运动控制程序里最容易出的问题就是使能逻辑混乱。我刚跑通第一次启动时按下启动按钮后伺服轴纹丝不动排查了半小时发现是忘了给轴使能信号。IS620N伺服工作在速度模式或位置模式下都需要PLC先发出使能信号驱动器里的主接触器才会吸合电机才处于通电锁定状态。使能程序不能简单用一个常开触点。我自己的做法是做一个使能判定FB急停未触发、所有限位未动作、驱动器无报警这三个条件同时满足时输出轴使能。急停一旦触发不仅轴使能要立刻断开还要对应执行减速停止。更稳妥的做法是把急停同时接到伺服驱动的硬件急停端子形成硬回路和软逻辑双重保护。毕竟PLC程序就算跑飞了驱动器的硬件急停还能兜底。4.2 回原点的不同方式什么时候用近点狗H5U支持多种回原点模式最常见的是原点开关加Z相脉冲也就是所谓的“近点狗”方式。这种方式的原理是轴先朝原点方向高速移动碰到原点开关后减速退出再以低速重新寻找原点找到Z相脉冲的上升沿才算零点。为什么还要找Z相因为原点开关本身存在机械重复精度问题而电机每圈只有一个Z相脉冲通过Z相来确定了电机在电气角度上的唯一位置定位精度远高于单纯靠开关信号。如果手头设备只装了限位开关而没有独立原点开关也可以用限位开关回原点但精度就会差一些适合对重复定位要求不高的学习场景。回原点完成后我把一个内部标记位置1这个标记会同时传给触摸屏否则界面上的回原点指示灯一直是灰色的。很多人会在这一步忽略轴实际是否回原点就直接允许自动运行这在设备上是相当危险的。5. mcgs触摸屏开发从设备组态到示教界面5.1 通信通道怎么建才不出现乱码mcgs对H5U通信时推荐走Modbus TCP。H5U默认支持Modbus TCP从站功能mcgs这边添加“通用TCP/IP父设备”然后在下面挂一个Modbus TCP子设备设置好H5U的IP地址和端口502通信参数基本不用动就能连上。重点在于通道偏移的对应关系mcgs里的Modbus地址跟PLC寄存区不是完全一一对应的刚开始很容易出现“明明读的是D100屏上显示的数据却从D99开始”这类错位问题。正常情况下高速寄存器对应关系是D区从地址0开始你在mcgs里建一个“4区保持寄存器”通道偏移地址写0对应PLC的D100。偏移地址写1对应D101以此类推。这个偏移量可以通过H5U的Modbus地址映射表来确认H5U手册里有现成的对照表建议第一次开发时把这个表打出来放在手边。5.2 示教界面的布局和变量规划mcgs组的示教界面没必要做得花哨核心是手动操作、自动运行、参数显示这三个页面。手动页放X/Y/Z三个轴的正反方向点动按钮点动速度用滑动输入框或增量调节按钮控制速度倍率可以设置成10%到100%共10档。自动页放启动、暂停、继续、停止四个按钮并显示当前执行到第几个点、总共有几个点、当前三轴坐标和运行完成度。参数页则用来修改点位号、查询对应坐标、删除点、插入点。触摸屏上的坐标显示控件数据类型要设置成32位浮点数16位整型在绝对值超过32767时就爆了。mcgs对32位数据有两种字节顺序选项高低字顺序和常规顺序这要看H5U侧的数据存储格式。我在第一次联机时坐标显示一直是乱码怎么改都是乱跳后来发现是mcgs的32位变量字序和H5U的D区高低字节顺序不一致把通道的“高低字转换”选项改一下就好了。这个坑也算经典后面专门讲。6. 整机调试与避坑清单从连线到稳定运行6.1 我在联机调试时踩过的几个坑第一个坑是EtherCAT总线断站。最初我把伺服总线和触摸屏接在同一个交换机上导致H5U访问伺服偶尔报“从站丢失”运行几分钟就断一次。排查了大半天最后把触摸屏和伺服总线分开到两个网口才解决。H5U的LAN1口接触摸屏、LAN2口接伺服链路的做法不确定是不是最标准但在我的设备上确实稳定减少了丢帧。第二个坑是mcgs这边读取浮点坐标时出现乱码。乱码在触摸屏领域很常见但这个“乱码”不是字符错乱而是浮点数据字节顺序错乱。H5U的D区一个寄存器是16位一个32位浮点要占用两个连续寄存器mcgs读取时如果高16位和低16位顺序跟PLC发送端不一致显示出来的数字就会变成一个天文数字。解决办法就是在mcgs通道属性里勾选“32位紧跟”和“16位高低字转换”不同版本的mcgs叫法略有差异实际效果就是把两个字交换读取。第三个坑是原点开关抖动。手动示教时轴来回移动原点开关在临界位置多次触发PCR回原点时偶发位置偏差跑了一段时间后第一次定位总差几毫米。后来给回原点指令增加了滤波时间参数PLC读取原点信号的输入状态时设置约5ms的数字滤波抖动瞬间被滤掉问题没再出现过。这个设置不在运动控制功能里而是在H5U的输入点属性中配置。6.2 稳定运行需要再检查的几件事调试通过以后我还特意列出过一份检查清单每次改完程序都照单排查。第一项是伺服驱动器的“动态制动”参数。急停或报警时伺服如果立即抱闸丝杆会因为惯性产生很大的冲击如果不断电直接自由滑行Z轴又可能下滑撞工件。学习机上我给Z轴伺服设置了动态制动延迟急停后先减速停止再抱闸既不会撞机也不会过头。第二项是上电时序。H5U和伺服驱动器的上电顺序建议是先伺服后PLC或者同时上电但不要先PLC后伺服。因为H5U一上电就会尝试扫描EtherCAT从站如果这时伺服还没准备好总线上会报从站错误。我在H5U的启动逻辑里加了一个3秒的等待延时让伺服先完成上电自检再让PLC进入运行状态。第三项是点位数据的边界保护。触摸屏上可以设定点号程序里必须对最大点数做上限判断否则操作人员输入了超出数组范围的数字程序运行到那块地址就会把系统寄存器覆盖掉整个PLC当场乱套。我在记录点和运行启动前都加了一条比较指令当点号大等于上限时直接拒绝操作同时在触摸屏弹窗提示“点位已满”这个细节花了我一分钟写代码却省下了好几个排障的周末。最后再分享一点个人体会。学三轴示教这种事方案和指令套路其实相差不大真正拉开差距的是数据组织方式和对故障现象的敏锐度。H5U加mcgs这套组合胜在功能边界清晰、通信透明、资料也好找非常适合用来打通从运动控制到HMI交互的完整链路。我自己在调通之后又把点位从硬件D区改成了触摸屏配方下载的方式虽然只是扩展了一点灵活性但对理解数据流很有帮助。如果你也正在自购设备学习建议先把原点回零、点位存储、自动运行这三件事跑通再把界面做漂亮顺序不要倒过来。本文还有配套的精品资源点击获取
返回列表