尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

三菱FX5U 4轴码垛机PLC程序搭建与调试实战指南

三菱FX5U 4轴码垛机PLC程序搭建与调试实战指南 三菱FX5U PLC 4轴自动堆垛码垛设备程序搭建这个话题对做非标设备的朋友来说几乎绕不开。我上一台交付的码垛机就是这个配置FX5U做主机4个伺服轴分别是横移X轴、升降Y轴、伸缩Z轴和旋转R轴末端挂吸盘或者夹爪配合输送线、托盘仓把产品从产线末端自动码到托盘上码满后自动送出。整套设备从硬件选型到程序调试中间踩过的坑、总结的经验我在这篇内容里全部写清楚。不管是刚入行想做三菱FX5U定位控制还是已经在做码垛项目但想优化程序结构都值得参考。拿到这类项目我一般先不急着写梯形图。堆垛码垛听起来就是“抓起、放下、计数”但真要和节拍、尺寸、换型绑在一起程序的复杂程度会翻好几倍。千万不要把重点放在“怎么发脉冲”上要多想“每个动作在什么条件下做、做完之后怎么判断下一步”。1. 项目需求拆解与整体方案设计1.1 4轴码垛机的轴分工与工艺路径4轴自动堆垛码垛设备这里的4个轴并不都是“往前伸”的轴常见分配方式是X轴负责水平横移Y轴负责升降Z轴负责前后伸缩R轴负责末端旋转。Z轴用来把吸盘或夹爪送进工位R轴用来把箱子旋转90度配合奇偶层交错码放。先把工艺路径捋清楚产品从上游线过来经过定位挡停X轴移动到取料位Y轴下降到取料高度末端吸盘吸取或夹爪夹紧Y轴抬起X轴移动到托盘上方的目标位置Y轴下降到放料高度松开夹具Y轴抬起一个循环结束。然后再取下一箱。整台设备说穿了就是把这几个动作不断重复但重复的坐标每次都不一样这就是程序要解决的核心问题。1.2 控制系统组成与通讯架构这套系统的主控选的是三菱FX5U系列PLC原因很直接FX5U本体晶体管输出自带多轴脉冲输出不需要额外加定位模块4个伺服轴可以直接挂在CPU上省成本省空间。伺服驱动器我常用MR-JE系列带绝对值编码器配合FX5U做绝对值系统非常方便。系统里除了PLC、伺服还要有触摸屏、输送线变频器、气缸、真空发生器和传感器。FX5U本体的RS485口可以接变频器实现速度给定、启停控制省掉了模拟量模块扩展I/O用来接开关、传感器、气缸电磁阀。整体架构不需要太复杂但层次要清楚。1.3 节拍估算与性能参数确认我拿到需求第一件事算节拍。客户说“每小时300箱”那每箱时间就是12秒。分解下来X轴横移1.5秒Y轴升降2秒Z轴伸缩1秒放料夹紧松开0.5秒加上等待、定位时间一个循环不能超过12秒。这些数据决定了加减速时间和运行速度的设置。千万不要等设备装好了才发现节拍不够。程序里的最高速度和加减速参数必须在设计阶段就用节拍倒推出来留出10%-20%余量。否则现场试生产时只能不停的改速度改来改去还可能撞机风险很大。2. 硬件配置与电气接线一台FX5U怎么带起4个轴2.1 FX5U选型与内置定位能力FX5U的选型要点一是看输入输出点数二是看本体是否晶体管输出。脉冲输出必须是晶体管型继电器型发不出高速脉冲。以我常用的FX5U-80MT为例本体集成40点左右I/O扩展一个16点输入模块、一个16点输出模块就够用剩下的靠远程I/O或通讯扩展。FX5U本体支持最多4轴脉冲输出单轴最高200kHz对常规的丝杠、同步带码垛设备完全够用。当然这只适合小型设备如果轴数多、负载大建议用FX5U加远程IO或换成更大系列但中小型堆垛项目用FX5U是本机方案中最顺手的。2.2 伺服系统选型与电子齿轮比计算伺服电机功率的选择要看负载重量、臂长、运动速度。比如Y轴升降要带抓手和产品惯量和重力都要算进去通常我会留30%以上的力矩余量不然低速时容易抖动高速时容易过载报警。电子齿轮比是很多新手卡住的地方。举个例子电机编码器分辨率是419430417位丝杠导程10mm要求指令单位是0.01mm。电机转一圈要走10mm也就是1000个0.01mm那么1000个指令脉冲对应电机一圈。电子齿轮比就等于编码器分辨率除以电机转一圈所需指令脉冲数即4194304 ÷ 1000 524288 ÷ 125。那伺服驱动器里的CMX设为524288CDV设为125这样PLC发一个脉冲实际移动就是0.01mm程序里的坐标可以直接按0.01mm为单位换算。实际做项目时我更喜欢在PLC侧把单位设置成mm这样梯形图里的数值就是mm调试时一目了然不容易发生坐标换算错误。伺服侧的电子齿轮比也要保证整数值不要太离谱否则容易引起定位抖动。2.3 I/O分配、安全回路与关键传感器I/O规划要在写程序前做一遍全。我习惯按功能分组安全类急停、门开关、正负限位、到位类气缸到位、真空压力、输出类电磁阀、抱闸、指示灯、备用点。安全回路一定要硬接线不能只靠程序处理。急停按钮串联后直接切断伺服使能电源和主接触器线圈即使PLC程序出错设备也能停下来。正负限位开关要接常闭触点断线时也要反馈成报警状态。这是安全底线省不得。原点开关、近点狗、Z相回零这几个信号直接决定回原点的可靠性。我一般用近点狗加Z相的组合方式做原点回归重复精度远高于只靠接近开关码垛设备对重复定位精度要求高这一步很重要。3. PLC程序框架与定位控制实现3.1 程序结构分层主程序、子程序与中断写码垛程序最怕的就是一个梯形图从头拉到底半天找不到逻辑改一个小功能要把整个程序翻一遍。我习惯把程序分成几个层主程序做状态调度子程序做具体功能中断处理紧急事件。主程序负责扫描各条件比如“手动模式有没有按下”“自动模式是不是满足启动条件”然后跳转到对应子程序。子程序包括手动回原、单轴点动、自动取料、自动放料、报警处理。中断用来处理急停和某些必须立即响应的信号。用这种结构后期调试时只需要打开对应子程序不会互相干扰。还有一个经验主程序里不要每个扫描周期都去执行绝对定位指令。定位指令有BUSY标志重复触发会报错要加“定位完成”或者“指令执行中”标志来防止重复写入。3.2 原点回归与绝对定位的配合堆垛码垛设备各轴必须做绝对定位不然每次上电后机械手不知道自己在哪坐标全是错的。做法是先回原点把设备当前机械位置清零之后所有的目标点都用绝对坐标表示。回原点的方式我常用带近点狗的DSZR轴以较快的速度找近点开关找到后减速再找电机Z相最终停在固定位置。这样不管轴停在哪个位置回完原点后坐标系是一致的第一箱位置、第二箱位置才不会偏。绝对定位指令使用时要通过轴号和运动参数指定目标位置和速度。比如执行一个绝对定位CPU会计算当前坐标到目标坐标的差值自动确定方向不需要程序判断正反转。这一点对码垛程序特别友好因为每一层的目标坐标是实时计算的正负方向交给指令本身去处理即可。3.3 4轴互锁与防碰撞逻辑4轴联动时最危险的是轴与轴之间发生物理碰撞或者夹爪没到位就横移导致撞箱。设计程序时必须给每个轴的动作加“允许条件”。比如X轴要横移必须先确认Y轴在安全高度、Z轴已缩回Y轴要下降必须确认X轴已到位、下方无检测信号。这些互锁条件用中间继电器做很清晰。比如“X移动允许”MARelay的线圈是“Y轴安全位 AND Z轴安全位 AND 启动继电器”。当MARelay接通时X轴的定位指令才允许执行。所有的轴动作都建立在这类标志位之上逻辑才不容易乱。还要注意R轴旋转和Z轴伸出的配合。Z轴如果还没有缩回R轴一旋转就会把箱子甩到设备外或者撞到框架这类位置相关的动作顺序要在状态机里严格按步骤推进。3.4 自动码垛状态机流程实现自动流程用状态机来写比单纯用连续的M线圈切换要清晰得多。我为每个动作定义一个状态编号S0空闲S10取料S20移载S30放料S40返回S50计数判断。每个状态里只做一件事情完成后把状态寄存器切换到下一状态。好处是现场排查故障非常快。比如当前状态号停在20触摸屏显示“X轴移动到放料位”如果X轴没动直接查X轴的条件、伺服报警、限位不用怀疑流程逻辑。这比自己记M100、M101这种模糊标志好用太多。状态转移时建议把“启动”“暂停”“急停恢复”这些外部信号放在状态机前面统一处理。暂停时先把当前动作执行的轴停掉保存当前状态恢复时从暂停状态继续程序不会乱跑。4. 堆垛算法与坐标生成把码放位置变成可计算的坐标4.1 托盘摆箱计算与中心点坐标推导码垛程序的核心算法就是根据纸箱尺寸和托盘尺寸算出每一箱应该放的中心坐标。以托盘1200mm×1000mm为例纸箱300mm×400mm横向排3箱纵向排2箱总共一层6箱间距20mm。计算过程是这样横向总宽 300×3 20×2 940mm托盘宽1200mm两侧各留边距 (1200 - 940) ÷ 2 130mm。第一箱中心X坐标 130 150 280mm第二箱中心X 280 300 20 600mm第三箱中心X 920mm。Y方向同理可以推出每行中心坐标。程序里用循环计算比手工一个个填快得多。行号从0开始列号从0开始X坐标等于起始坐标加列号乘列距Y坐标等于起始坐标加行号乘行距。列距等于箱宽加间距行距等于箱长加间距。这样即使纸箱尺寸和托盘尺寸变了改参数就行不用逐个改坐标。4.2 奇偶层交错与旋转策略纸箱堆垛最怕堆成一根“柱子”四边完全对齐码两三层就容易倒。实际工艺里一般要求每层箱子朝向交替旋转90度让上一层箱子的接缝和下一层错开这样整垛更稳。实现方式是利用R轴旋转。程序判断当前层数是奇数层还是偶数层奇数层所有箱子保持0度偶数层所有箱子转90度。坐标也要跟着换如果纸箱长400mm、宽300mm偶数层横竖方向互换所以行列距也要随之切换。有些客户用错位堆码也就是每层往里收半个箱宽程序里就是加一个层数对应的偏移量。这个偏移量在参数画面里做一个可调值现场根据实际堆垛稳定性再微调比写死在程序里好。4.3 高度补偿与层降计算每码完一层垛顶高度就增加一层纸箱的高度下一层的放料高度必须抬高。这一步用公式算放料Y坐标 基准高度 - 当前层数 × 单层高度。注意这里用的是“负方向下降”不同的机械结构方向不一样要根据实际结构调整。放料时不要直接贴到垛面再松开这样容易被下面的箱子卡住。我习惯先降到垛顶上方30~50mm确认到位后再慢慢下降到放料高度松开夹具然后Y轴抬起到安全高度。这个“缓冲高度”值也要放在参数里现场根据产品特征调整。总层数计数达到设定值后设备要输出“托盘满”信号让输送线把满托盘送走再自动进入空托盘等待位继续循环。这个过程最好也纳入自动流程避免操作员忘记更换托盘造成撞机。4.4 配方参数与快换产品客户不会只码一种箱子。换产品时如果一个个改参数太慢还容易改错。我在触摸屏上做了配方功能每种产品存一组参数箱长、箱宽、箱高、托盘尺寸、每层数量、层数、速度、吸盘延时。配方数据存放在FX5U的锁存区或者掉电保持寄存器换产品时从配方画面调出来一键下载到当前运行参数区。程序只读取当前参数区不直接读固定值。这个思路做一次后期维护和客户自己换型都轻松不少。如果需要更强追溯FX5U还可以加SD卡把每箱的码放位置、时间、层数记录下来。不过常规项目做到配方参数这一步已经够了。5. 触摸屏画面、通讯与参数调整5.1 HMI画面布局与操作员交互触摸屏不需做太花哨但要把操作员要用的东西放在第一屏。我通常做四个画面主画面、手动画面、参数画面、报警画面。主画面放启动、停止、复位、当前状态、当前产量、当前层数。手动画面要能单独控制每个轴点动、吸盘通断、气缸伸缩方便调试和故障处理。每个轴的点动按钮做成“按住动、松开停”不要用自锁开关防止操作员忘了松手把设备跑出去。参数画面按配方分页不要一屏塞满否则现场容易误触。5.2 RS485与变频器输送线的联动输送线的变频器可以用FX5U本体RS485口控制实现启停和频率给定。比如PLC发送写入指令把频率写入变频器然后发送运行指令输送线开始工作。读取当前频率和电流可以显示在屏幕上做监测。用RS485控制变频器省掉了DA模块和电位器但通讯参数必须两边一致。波特率、数据位、停止位、校验位PLC侧和变频器侧要逐一核对。我遇到过项目调试半天通讯不上最后发现是变频器站号设错了这种低级错误最容易浪费时间。5.3 掉电保持与换型参数存储现场突然断电如果产量、层数、坐标全部清零重新上电后操作员会很头疼。把产量计数、当前层数、当前箱号放到锁存区断电后自动恢复。这样恢复生产时可以从断点继续码放不用重新从第一箱开始。参数区里的配方数据也要放在掉电保持区。FX5U的D区默认有保持范围也可以在参数里指定。有些调试时要频繁修改的临时变量不要放进保持区否则每次改完断电场又被旧值覆盖容易造成误解。6. 现场调试流程与常见问题排查6.1 不带负载单轴调试设备接线完成、程序下载好之后第一步不是直接跑自动而是把所有轴先带上伺服参数设置好逐个轴做单动测试。先试点动确认方向正确、限位生效再试回原位确认原点位置合理。单轴调试阶段要盯一个东西伺服驱动器的当前值。点动一段距离看看当前值变化是否平稳有无跳变。出现跳变说明干扰或接线问题必须解决后再往下走否则后面自动跑起来定位会飘。6.2 空载联动与轨迹试跑单轴正常后把抓手装上不开真空不吸箱子走一遍自动流程。这时主要看各轴的动作顺序是否合理互锁是否起作用。特别要观察X轴横移时Y轴是不是真的在安全高度Z轴有没有先缩回再旋转。空载试跑时把速度放到50%以下人站在设备边上手放在急停上。有些逻辑问题只有实际动作起来才能发现比如两个轴同时动作时电源电流不够、伺服瞬时过载这些问题在低俗空载下就能暴露一大部分。6.3 带载试生产与调整要点空载没问题再放箱子开始带载。第一次带载建议只码一层确认坐标和吸盘动作正确然后逐渐增加层数。如果第二层开始位置偏移大概率是Y轴放料高度没抬够箱子被下层边缘刮到。带载测试中还要调好吸盘放料延时。吸盘断真空后如果立即抬升箱子可能还没放下被带起来如果延时太长又影响节拍。我习惯先设为200ms现场看箱子实际落下情况再微调。带载时还要观察伺服电流和电机温度。如果某个轴频繁低速重载电机温度偏高说明加减速时间太长或机械负载偏重需要把加减速适当缩短或者检查机械结构是否有卡滞。6.4 常见报警排查速查表现场跑设备最怕报警我整理了一张表记录我调试中遇到频率最高的报警和处理思路。报警现象可能原因排查与处理伺服过载报警机械卡滞、加减速时间过短、负载过大先手动盘机确认机械灵活度再适当增加加减速时间定位指令无法执行轴处于BUSY状态、未回原点、条件不满足查定位状态标志和互锁中间继电器是否接通原点回归超时原点开关损坏、回原方向反了、近点狗信号没接确认近点狗在轴移动路径上手动触发看输入信号定位位置偏一个固定值电子齿轮比设定错误、机械间隙核对CMX、CDV计算检查联轴器是否松动脉冲输出但伺服不动伺服未使能、脉冲模式不匹配查伺服使能信号核对脉冲方向接线和驱动参数运行中突然停机急停回路被触发、限位压到、干扰导致CPU错误看PLC报警灯查输入状态检查外部接线6.5 抗干扰与接地经验伺服设备现场噪音大干扰问题很容易出现表现是轴偶尔多走一个脉冲、位置有时偏一点、触摸屏通讯偶尔断。我在布线时严格控制三点动力线和信号线分开走距离至少20cm编码器线和脉冲线用双绞屏蔽线屏蔽层单端接地伺服驱动器、PLC、开关电源的接地排分开不要形成地环路。如果干扰已经很严重了可以用滤波器和磁环但根本解决办法还是重新布线。我见过一个现场折腾了两天最后发现是把脉冲线和变频器输出线绑在同一个线槽里分开后问题立即消失。抗干扰最怕侥幸心理要一次做对。多人配合调试时一定在设备明显位置挂“调试中禁止上电”的牌子拔掉主电源或者改成只能手动运行的安全模式。凡是操作员可能站的位置都要有急停按钮覆盖到。程序逻辑再完善也挡不住习惯性操作失误硬件安全措施必须兜底。最后再分享一个个人体会码垛设备程序不怕写得慢就怕逻辑不清。现场出问题时最容易排查的程序结构是那种“一个状态只干一件事、条件全部可视化”的结构。宁可前期多花半天把状态划分清楚也不要为了“看起来高端”写出花里胡哨的间接寻址和跳转后期维护会让你怀疑人生。如果你现在正准备做三菱FX5U的4轴堆垛项目建议先把工艺动作画成时序图再分配I/O最后动笔写程序。很多问题在时序图阶段就已经能看出来根本走不到现场。这套流程我用了很多个项目稳。
返回列表