ARTICLE DETAIL

资讯详情

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

三菱FX3U PLC与步进电机手动/自动定位控制实战解析

三菱FX3U PLC与步进电机手动/自动定位控制实战解析 前阵子帮客户调试一台半自动送料机构控制要求很典型既要能手动点动进退料方便换模和对位也要能设定位置后一键自动跑到位。我选了三菱PLCFX3U配步进电机这套方案驱动器细分设到8同步带加上减速器后线速度稳定在0.8米每秒从接线到程序再到调参一趟走下来效果很稳。这篇文章就把这套从手动到自动的完整流程写清楚包括硬件选型、接线参数、脉冲频率计算还有梯形图逻辑和指令代码解析给你一份可以直接抄作业的实战参考。不管你是刚接触PLC运动控制的电气工程师、设备维护人员还是自动化专业的学生只要手头有三菱FX系列PLC和一套步进电机这篇文章的流程基本都能复现出来。我尽量把每一步为什么这么做也讲透免得你照着接完线却不知道为什么电机不动、为什么丢步。1. 需求梳理与整体方案选型1.1 先把控制需求一条条列清楚动手之前我习惯把需求用表格拆开避免写着写着把自己绕进去。这套送料机构的控制要求大致如下功能具体要求手动模式点动正转、点动反转按住走、松开停用于调试对位回原点上电或自动运行前一键回到机械原点位置自动模式设定目标位置启动后自动定位到目标点并停止状态切换手动/自动模式互锁不能同时生效安全保护原点限位、急停、正反转互锁这套需求在小型贴标机、送料机构、切割台、点胶机上非常常见。核心就一句话用PLC发脉冲给步进驱动器驱动器驱动步进电机走到指定位置。1.2 为什么用步进电机而不上伺服这台设备负载不重定位精度要求0.1毫米以内速度要求也不算极限所以步进电机完全是够用的。很多朋友一上来就想上伺服但伺服加驱动器的成本是步进的三到五倍而且伺服调试参数多增益没调好反而会振动甚至飞车对没有经验的人并不友好。步进电机是开环控制PLC发多少脉冲它就转多少步简单直接。伺服是闭环控制带编码器反馈适合高速高精度、负载变化大的场合。两者没有绝对好坏选型就看负载、精度、速度和预算。踩坑提示选PLC的时候如果控制步进电机或伺服一定选晶体管输出型型号通常是MT结尾比如FX3U-32MT。继电器输出型MR结尾只能用在低速通断场合根本没法发高速脉冲。1.3 硬件清单与选型依据我这边实际用到的硬件清单给你列一份参考三菱PLCFX3U-32MT/ES晶体管输出带三路高速脉冲输出Y0、Y1、Y2控制步进足够步进驱动器雷赛DM3E或者国产主流细分驱动器都行关键是支持脉冲方向控制模式步进电机42步进电机或57步进电机两相混合式步距角1.8度扭矩按负载选机械传动减速器本项目用5比1、5M20同步轮同步带传动传感器NPN型接近开关或者光电开关做原点信号电源24V开关电源给PLC、驱动器和传感器供电其他按钮、急停、指示灯、端子排、线材若干如果你手头是FX5U那更好FX5U内置定位功能更强支持表格定位但指令逻辑和FX3U是同一套思路下文讲的程序在FX5U上稍作调整也能用。FX5U自带网口后期接触摸屏和上位机更方便。2. 硬件接线与参数设置每个端子都不能错2.1 PLC输出端子规划与驱动器接线步进驱动器上常见的三个信号端子组是PUL脉冲、DIR方向、ENA使能。我建议这样对应PLC驱动器端子接PLC作用PUL接Y0输出公共端V脉冲输入PUL-Y0接收脉冲信号DIR接Y1输出公共端V方向输入DIR-Y1控制正反转ENA24V正极使能默认方式见下文ENA-24V负极或悬空使能重点说一下三个问题第一Y0、Y1都是脉冲输出点但职责不同。Y0负责发脉冲脉冲数量决定电机走多少步Y1只是电平信号决定电机正转还是反转。简单理解Y0是走多少Y1是往哪走。第二ENA使能信号很多新手会搞反。驱动器的ENA端一般默认是低电平使能或者高电平使能要看具体驱动器手册。以常见的接法来说如果想让驱动器在PLC发送脉冲前保持使能状态电机锁轴通常把ENA接24V正极ENA-悬空或者接负极具体以手册为准。接反的典型表现是驱动器面板有电但电机轴非常松发脉冲也不动。第三PLC输出侧的公共端要接对。FX3U晶体管输出通常是漏型输出公共端COM接0V输出点内部导通到0V形成回路。如果你的驱动器是共阳接法就需要把PUL接24VPUL-接Y0这样Y0导通时电流从24V经PUL流进Y0再回到COM形成通路。这个方向搞反了脉冲信号过不去电机就是不动。2.2 NPN传感器接线要点这套设备里原点信号我用的是一个NPN型接近开关。FX3U漏型输入接线很简单传感器棕色线接24V正极蓝色线接0V黑色信号线接PLC输入点X0PLC的COM端子接0VNPN传感器输出低电平有效。当感应到金属挡块时信号线被拉到0VX0输入就导通了。这里有个容易踩的坑PLC输入端COM接法必须和传感器类型匹配。NPN传感器配漏型输入COM接0VPNP传感器配源型输入COM接24V。FX3U的输入公共端可以通过短接片切换接之前一定看清楚端子排上的标注。2.3 步进驱动器拨码参数与机械传动计算驱动器上拨码开关主要设两样运行电流和细分。电流按步进电机铭牌设定。42步进电机通常额定电流1.5A左右57步进电机在2.8A到3A之间。把拨码按说明书拨到对应档位就行别为了追求力大无穷往高了调电机发烫严重、驱动器报过流都是这么来的。细分数我设了8。意思就是电机每转一圈需要200固有步数×8 1600个脉冲。细分越高震动越小但脉冲频率也要跟着提高对PLC高速输出要求也越高。实际工程里8或16是最常用的折中值。接下来是整篇文章最有价值的部分机械参数和脉冲频率的换算。这个项目机械结构是步进电机出口带5比1减速器减速器输出轴装5M20同步轮同步带线速度要求0.8米每秒。先算同步轮周长5M20同步轮齿数20齿5M齿形齿距5毫米周长 20 × 5 100毫米 0.1米。再算减速器输出轴转速线速度0.8米每秒同步轮周长0.1米那么输出轴每秒转0.8 ÷ 0.1 8转折算成每分钟就是480转。5比1减速器的意思是电机转5圈输出轴转1圈。所以电机转速 8 × 5 40转每秒 2400转每分钟。接着算脉冲频率细分8电机每转一圈需要1600个脉冲那么脉冲频率 40 × 1600 64000 Hz 64kHz。这个64kHz就是PLC发脉冲的最高频率需求。FX3U晶体管输出的高速脉冲可以达到100kHz甚至200kHz所以完全扛得住但如果你用继电器输出型PLC最高只能输出几十赫兹电机几乎不会转这就是很多人程序明明写了但电机不动的根本原因。再看定位精度同步轮转一圈走0.1米也就是100毫米对应1600个脉冲所以每个脉冲对应的位移是100 ÷ 1600 0.0625毫米也就是0.0625mm/脉冲。这个精度对送料机构完全够用。经验提示速度和脉冲频率的关系是运动控制里最基础的换算一定要自己亲手算一遍。不要凭感觉估频率一旦脉冲频率超过PLC高速输出上限要么丢步要么干脆不动。3. PLC程序设计手动与自动模式的完整实现3.1 程序框架与软元件规划写程序之前先把软元件规划好。三菱PLC的软元件规划就像房子装修先画水电图没有规划直接写后面改起来能改到你怀疑人生。软元件功能说明X0原点传感器NPN接近开关X1手动/自动切换开关ON为自动X2点动正转按钮手动模式有效X3点动反转按钮手动模式有效X4回原点按钮手动模式有效X5自动启动按钮自动模式有效Y0脉冲输出接驱动器PULY1方向输出接驱动器DIRM0自动模式标志切换开关ON时置位M10自动启动标志启动按钮置位M8029指令完成标志定位完成后自动置OND0目标位置要走的脉冲数D1运行速度脉冲频率单位HzD8348Y0加速时间单位毫秒D8349Y0减速时间单位毫秒关于计数器C很多朋友学了三菱PLC的计数器指令但是不知道怎么用在运动控制上。这里先提一个最常见的用法用32位高速计数器C235做位置反馈编码器接在Y0对应的高速计数通道上可以实时读取当前位置。不过这台设备是开环控制计数器主要用于自动循环计数比如自动运行10个工件后暂停用C10就能实现。开环加高速计数器属于半闭环的过渡方案后面想升级可以再加。3.2 手动模式点动控制和回原点手动点动的逻辑很直接按正转按钮Y0持续输出脉冲Y1保持OFF正转按反转按钮同样发脉冲但Y1置ON反转。松开按钮Y0停止发脉冲。梯形图逻辑用文字描述就是这样M0自动模式标志为OFF时手动模式有效 X2正转按钮导通 → 复位Y1 → 执行PLSY指令持续输出脉冲 X3反转按钮导通 → 置位Y1 → 执行PLSY指令持续输出脉冲 X2和X3同时导通时互锁谁也不动作这里用的PLSY指令是三菱最基础的脉冲输出指令格式是PLSY D1 D0 Y0其中D1指定频率D0指定脉冲数。如果D0设为K0表示连续输出只有条件断开才停止。点动就适合用连续输出。指令表写出来参考这样LD X2 ANI X3 ANI M0 AND X0 ; 如果原点位置不允许正转可加条件 OUT Y001 ; 方向复位正转 LD X2 ANI X3 ANI M0 PLSY D1 K0 Y000 ; 以D1频率连续发脉冲 LD X3 ANI X2 ANI M0 OUT Y001 ; 方向置位反转 LD X3 ANI X2 ANI M0 PLSY D1 K0 Y000这里有几个细节第一方向信号用Y1但PLSY指令本身只在Y0上发脉冲所以手动模式下脉冲数和频率是空转的系统不知道当前位置。因此从手动切自动之前必须回一次原点校准坐标。第二点动速度D1不要设太高。手动调试时人站在设备旁边速度太快反应不过来容易撞机。我习惯手动速度设在5kHz到10kHz也就是每秒3到6毫米左右安全第一。回原点我用的是ZRN指令格式ZRN X0 K5000 K500 Y000意思是碰到X0原点信号后以K5000的频率高速回原点碰到X0后减速到K500爬行速度直到完全停下并定位。这样能保证每次回原点的停止位置重复精度很高不会被惯性影响。注意ZRN指令执行前必须把M8340原点回归方向设置好。FX3U中M8340是Y0的原点回归方向标志M8341是Y1的方向标志。如果设反了设备会直接往反方向冲出去非常危险。第一次测试时手要放在急停上。3.3 自动模式DRVI相对定位实现自动模式我推荐用DRVI指令做相对定位。为什么要用DRVI而不是PLSY核心区别在于PLSY只管发送固定数量的脉冲不关心目标位置而DRVI是带有加减速的定位指令执行过程中PLC会按设定的加减速时间平滑启动和停止对机械冲击小很多。DRVI指令格式DRVI D0 D1 Y000 Y001D0目标位置相对当前位的偏移脉冲数D1运行频率Y0脉冲输出点Y1方向输出点相对定位的意思就是从当前停的位置再走D0个脉冲。如果D0是负数指令会自动把Y1置ON电机反转。这种方式比绝对定位DRVA灵活不需要知道机械坐标原点的绝对位置每次从当前位置偏移就行。自动模式的程序逻辑X5自动启动按钮按下 → M10置位 M10导通 → 执行DRVI定位 → 定位完成后M8029导通 M8029导通 → 复位M10自动启动结束如果要做连续循环就把M8029接到一个循环计数器上比如C10每完成一次加1加到目标次数后停止。实际梯形图逻辑文字描述LD X5 OR M10 ANI M8029 OUT M10 LD M10 DRVI D0 D1 Y000 Y001就是这么简洁。但这里有个新手特别容易忽略的点目标位置D0和速度D1必须在自动启动前设置好。如果用触摸屏设定位置要注意数据格式步进系统一般都用整数脉冲数触摸屏上的显示值要乘以脉冲当量就是前面算的0.0625mm/脉冲才能得到实际距离。3.4 定位指令代码逐句解析我见过很多朋友程序能跑但问他每一句为什么这么写说不出来。这里把整段自动定位代码拿出来逐句解析。假设程序从第0步开始0 LD X5 1 OR M10 2 ANI M8029 3 OUT M10 4 LD M10 5 DRVI D0 D1 Y000 Y001逐句翻译第0步LD X5读取自动启动按钮信号第1步OR M10和M10自锁并联。意思是按钮按一下M10导通后即使X5断开M10仍然保持导通第2步ANI M8029串联M8029的常闭触点。M8029是定位指令完成后自动导通一瞬间的完成标志用它来切断M10实现到位自动停止第3步OUT M10输出M10线圈第4步LD M10M10作为DRVI的执行条件第5步DRVI D0 D1 Y000 Y001执行定位M8029是个很有意思的软元件任何定位指令和算术指令执行完它都会导通一个扫描周期。很多新手不知道这个特性定位完成后不知道该用什么东西去接住完成信号程序就乱了。你可以把它理解成一个做完一件事后自动举手的信号你要做的就是判断它举手之后接下来做什么。另外FX3U的DRVI执行过程中加减速时间由特殊寄存器D8348加速时间和D8349减速时间控制单位毫秒。我调试时通常从100ms起步如果出现启停冲击就慢慢往上加到300ms左右基本平顺。加减速太快电机容易过冲丢步太慢设备动作变得迟钝节拍跟不上。3.5 模式切换与安全互锁手动和自动模式切换看起来简单但没做好互锁很容易出事故。我的做法是加一个两位选择开关X1X1 OFF手动模式。X2点动正转、X3点动反转、X4回原点有效X1 ON自动模式。X5自动启动有效手动点动按钮无效程序里用M0作为模式标志LD X1 OUT M0然后在所有手动按钮的逻辑里串M0的常闭触点ANI M0在自动启动逻辑里串M0的常开触点LD M0 AND M10之类实现彻底互锁。安全方面急停一定要单独处理。急停按钮X10按下时我直接切断Y0的脉冲输出并且复位所有运行标志。这一点很重要因为某些定位指令在急停恢复后不会自动继续你必须手动回原点重新建立坐标。安全提醒任何时候程序里都要给急停留最高优先级。运动控制设备一旦失控最先伤害的一定是操作人员。别嫌麻烦。4. 现场调试与常见问题排查实录4.1 上电调试的标准顺序程序写完之后不要直接接负载跑按下面的顺序来第一步不带电机测试。把驱动器电源断开只给PLC上电在线监控程序逻辑。按下手动按钮观察Y0有没有脉冲输出、Y1方向是否正确。这时候看不到电机动作但能验证程序逻辑链路通不通。第二步不带负载空跑。接上电机但不要带同步带和负载手动点动正转确认电机转的方向和预想一致。如果方向反了不用改程序在驱动器上把DIR信号取反就行或者把电机A和A-两根线对调。第三步回原点测试。把X0传感器挡块装在合适位置手动触发回原点观察高速回原点和爬行减速的动作是否顺畅。这里最关键的是爬行速度要足够低否则每次回原点的停止位置重复性会很差。第四步带负载定位测试。接上同步带和实际负载自动模式设置小距离比如1000个脉冲跑一跑观察是否到位、有无异响、电机温度是否正常。确认没问题了再跑全行程。这一套流程走下来能省下很多排查故障的时间。我见过很多人程序一写完就直接上电跑负载出了问题一会儿怀疑接线一会儿怀疑程序最后发现是加减速时间太短白折腾一晚上。4.2 电机不转、丢步、振动等问题的排查对照表在调试过程中我总结了几个高频故障整理成表格方便你排查现象可能原因排查方向电机完全不动PLC是继电器输出型换晶体管输出型PLC电机完全不动驱动器使能信号没导通检查ENA接线和拨码电机完全不动脉冲接线PUL正负接反调换PUL和PUL-电机只往一个方向转DIR信号没接或逻辑反检查Y1接线或取反方向逻辑电机抖动、声音异常细分设置太小增大细分比如从2改成8电机丢步、定位不准加减速时间太短增大D8348/D8349加速减速值电机丢步、定位不准电流设置偏小按电机铭牌调大电流电机发热严重电流设置过大调小电流或检查静止电流设置回原点一直跑不停ZRN方向标志M8340设置反修改M8340状态回原点位置每次都不一样爬行速度太高降低ZRN指令中的爬行速度参数这里面有两个问题我最想多说两句。第一丢步问题。有人以为丢步是步进电机的顽疾绕不过去。其实大部分丢步都是加减速时间太短、瞬间启停导致负载惯量把电机拖过步。把加减速时间从50ms加到200ms以上丢步率会大幅下降。步进电机适用的场景是轻负载、中速度别拿它当伺服硬抗大惯量负载。第二回原点方向跑反。这个真的是高危问题。ZRN指令运行前PLC会按M8340设定的方向去找原点。如果方向反了电机会直接往反方向飞出去撞到机械限位甚至把设备顶坏。第一次测试回原点时强烈建议先手动把设备移到距离原点传感器较远的位置空手放在急停旁边发现方向不对立刻按下。4.3 两个容易忽略的小细节第一个细节原点传感器的安装位置。很多人把原点挡块装在行程末端这样回原点时先高速冲过来等传感器感应到再减速爬行如果传感器和机械限位之间的距离太短减速距离不够设备就直接硬撞限位了。我习惯把传感器装在行程中部或者保证高速段和爬行段之间有足够的安全距离。第二个细节脉冲当量和程序单位的统一。触摸屏上显示的距离单位是毫米而程序里DRVI的目标位置是脉冲数中间一定要做换算。很多现场调试了半天定位不准最后发现是触摸屏上填了毫米数但程序把它当脉冲数用差了十几倍。5. 后续还能怎么扩展这套基础版本做完之后还有几个很实用的扩展方向第一个方向是加触摸屏。用三菱GOT或者国产昆仑通态通过串口或者以太网和PLC通信把D0目标位置、D1速度直接在屏幕上设置比用按钮一步一秒地加方便太多。FX5U自带网口可以直接走MC协议和触摸屏通信省去232转接模块。第二个方向是做闭环反馈。如果设备用一段时间之后精度下降或者负载变化比较大可以考虑加编码器做闭环。PLC的高速计数器C235接收编码器脉冲程序里实时比较目标位置和实际位置偏差超限就报警。这就相当于半闭环的步进系统精度和可靠性比纯开环好很多成本只增加一个编码器的钱。第三个方向是换FX5U做表格定位。FX5U的表定位功能可以把几十个位置、速度、等待时间全部写成一张表适合多工位设备。程序结构也会清晰很多不用像FX3U那样一堆DRVI写到底。这套三菱PLC加步进电机的组合说难不难但里面涉及到的接线细节、参数换算、指令特性、调试顺序任何一个环节没搞明白都会让人卡住。我个人的经验是先把手动功能做扎实回原点逻辑反复验证再上自动定位这样出问题的概率能降到最低。如果你正在做类似的设备按照这篇文章的顺序走一遍大部分坑都能绕过去。
返回列表