新闻详情

新闻详情

首页 / 资讯中心 / 详情

基于FX3U与台达B2伺服的三轴搬运设备程序设计思路解析

发布时间:2026/9/25 5:37:12来源:尧图网络
基于FX3U与台达B2伺服的三轴搬运设备程序设计思路解析
前阵子给客户做了一套三轴搬运设备客户点名要三菱FX3U PLC、三个台达B2伺服、外加一块信捷触摸屏。这套搭配在直角坐标机械手、上下料、码头搬运这类项目里出现频率非常高。三轴搬运说白了就是XYZ三个方向的伺服马达代替人工把工件从A处搬到B处动作流程固定控制逻辑不算复杂但要把程序写得结构清晰、通俗易懂、注释齐全反而很考验电气工程师的基本功。这篇文章我就把自己从选型、接线、伺服参数、程序结构到调试排故的完整做法捋一遍给正准备动手写类似程序的朋友一个参考。1. 三轴搬运项目的整体方案与设计思路1.1 为什么偏偏是FX3U、台达B2和信捷屏这个组合先说选型。三菱FX3U在这个项目里的位置很特殊它既不像Q系列那么贵又不比小型继电器型PLC那么弱。尤其是FX3U本体自带三路高速脉冲输出点正好对应三个轴的伺服控制不需要额外加定位模块。这个优势在同价位PLC里非常明显。如果你用的是三菱FX系列更早期的FX1N它只有两路高速输出控制三轴就不得不外挂定位模块成本和接线复杂度都会上来。FX3U的晶体管输出型MTY0、Y1、Y2三路都能输出100kHz脉冲对绝大多数丝杠传动结构的三轴搬运设备来说速度完全够用。台达B2伺服属于经济型伺服但在位置控制模式下响应和精度对点位搬运这种应用绰绰有余。B2的编码器分辨率是160000脉冲/圈这个数值后面计算电子齿轮比时很重要。为什么会选它而不是三菱自己的MR-JE系列客户指定是一方面另一方面是B2在市场占有率很高现场维修人员基本都会调出了问题排查反而不费劲。信捷触摸屏同理在国产触摸屏里质量稳定、组态方便支持三菱FX系列编程口协议和FX3U连接几乎不需要额外硬件。这套组合的门当户对还体现在成本上。三轴搬运本身是简单点位控制不需要多轴插补、不需要连续轨迹运动过程中各轴独立定位只是靠工序逻辑把它们串起来。如果在这个项目里上总线伺服加运动控制器那是杀鸡用牛刀徒增调试难度。三台B2伺服加一台FX3U本体价格可控备件好买维护门槛低这才是中小型自动化设备的合理选择。1.2 三轴机械结构与搬运工艺流程拆解三轴搬运设备的机械结构通常是一个直角坐标机械手。X轴负责长行程的水平移动比如沿着产线方向Y轴负责另一方向的小幅横移Z轴负责升降末端装气动手爪或者真空吸盘。这种结构看起来简单但有几个机械上的关键点会直接影响程序写法。首先是每轴的原点位置。一般设备复位之后三轴都要回到各自的机械原点也就是三个光电接近开关或者限位开关所在的位置。原点就是我们搬运逻辑里所有绝对坐标的参考点所以回原点程序是整个三轴搬运的基础原点都回不准后面说啥都没用。其次是行程范围每轴正负方向的硬限位和软限位都要在PLC里做进报警逻辑。搬运工艺流程通常是这样的设备上电并完成原点回归后Z轴下降到取料位手爪或吸盘夹紧工件Z轴上升然后X轴和Y轴移动到放料位置上方Z轴再下降到放料位手爪松开放下工件Z轴上升回位。如果程序里同一时间还有多个工位则把这套流程套进循环次数、工位计数、有无工件检测这些条件里。我把这个流程拆这么细是有原因的。写程序之前脑子里如果没有清晰的工艺流程就直接开写梯形图大概率会东改西改、逻辑混乱。尤其是客户要求“注释齐全、通俗易懂”那程序就必须跟着流程走一个工序一个工序地推进别人拿到程序才能顺着步号读下来。1.3 “结构清晰、通俗易懂、注释齐全”到底怎么落地很多新手写程序一上来就噼里啪啦写一大堆中间也没有分块触点交叉嵌套别人根本看不下去。我给自己定的规矩是三段式先把输入输出软元件映射做好再把手动、自动、报警功能模块分开最后把自动流程用步进梯形图做成一步一步的工序。程序里对每一个M、D、Y、X的作用在注释里写清楚不写废话。比如一个输出点是“Z轴下降”注释不能只写“下降”要写“Z轴下降到取料位触发条件是步S10动作对象是伺服下降到位的确认信号是X21”。这种注释在现场查问题时价值非常大。客户如果自己维护打开程序一看注释就知道这个点控制什么就算没有我们在场也能操作。还有一点是软元件规划。我习惯把每类软元件分区间比如M100到M199全部是报警与急停M500到M599全部是自动流程标志位D100到D199是工艺参数D500到D599是当前位置和目标位置。这样程序里的软元件一看编号就知道归属避免出现两个功能抢同一个M线圈造成双线圈冲突。2. 硬件接线与台达B2伺服参数设置要点2.1 PLC高速脉冲输出点、方向点分配三菱FX3U用定位指令控制伺服时脉冲输出点只能从Y0、Y1、Y2里选这三点是专用的高速脉冲输出点其他输出点输出不了高速脉冲。方向输出点没有限制可以用任意普通输出点但建议统一用Y4、Y5、Y6和脉冲输出点形成固定搭配。我习惯把X轴脉冲对应Y0、方向对应Y4Y轴脉冲对应Y1、方向对应Y5Z轴脉冲对应Y2、方向对应Y6。这样走线、查线、对程序都很方便。接线时要注意FX3U晶体管输出是集电极开路方式台达B2伺服位置控制模式支持集电极开路脉冲输入。伺服驱动器端子板上会有PULSE与SIGN两组输入PLC的Y点接伺服脉冲输入端方向输出点接SIGN端。公共端极性搞反是最常见的低级错误接好后可以在PLC里给输出点强制ON看伺服面板有没有转速反馈。如果强制ON后电机不动先不要怀疑程序用万用表量一下脉冲端子电压。三个伺服的使能信号SON也要由PLC控制。一般用Y10、Y11、Y12接三台伺服驱动器的DI1程序里上电后条件满足才能给Y10置ON。这样做的意义在于急停或者报警时可以在PLC程序里立刻切断伺服使能让电机进入自由状态比依靠驱动器内部逻辑更灵活可控。伺服驱动器的ALM报警输出接回PLC输入点比如X10、X11、X12程序里只要检测到ALM信号就要停止当前动作。2.2 台达B2伺服的几个关键参数与电子齿轮比计算台达B2伺服第一次用不需要把所有参数都改一遍但有几个关键参数必须得对上。第一个是控制模式B2的位置控制模式在参数组里设置选错成速度或扭矩模式PLC发脉冲电机不会动。第二个是脉冲输入形式位置控制模式下通常都设为脉冲加方向也就是PULSE发脉冲、SIGN定方向这样和PLC程序里DRVI、DRVA指令的输出逻辑完全吻合。第三个是电子齿轮比分子和分母这个要自己算。电子齿轮比的计算非常关键。举个例子假设设备X轴丝杠导程是10mm台达B2伺服编码器分辨率是160000。如果希望PLC每发出1个脉冲机械负载移动0.01mm那么电机转一圈需要160000个反馈脉冲转一圈负载走10mm折合每1个反馈脉冲对应0.0000625mm。要达到0.01mm就需要160个反馈脉冲。所以电子齿轮比分子设为160分母设为1PLC发1个脉冲驱动器控制电机走160个编码器计数刚好是0.01mm。如果不算直接改参数经常会出现两种情况要么电机转得非常快而行程很小要么PLC脉冲都发完了电机才走了不到目标的一半。这些本质都是电子齿轮比和机械传动比没匹配。B2伺服的电子齿轮比分子分母在参数表里都有范围计算时还要验算一下PLC最大脉冲频率。比如目标最大运行速度是300mm/s换算成脉冲频率就是300除以0.01等于30000Hz也就是30kHzFX3U单轴最大100kHz余量很足没问题。伺服增益方面B2默认参数在大多数丝杠负载下能跑但电机有尖锐噪音或低速爬行时我会先检查机械上有没有别劲再适当调整位置增益和速度增益。调试伺服参数时一次只改一项改完试运行后再改下一项别多个参数一起动不然出了问题完全不知道是哪项改出来的。2.3 信捷触摸屏和FX3U的通信连接信捷触摸屏通过COM口和FX3U连接走的通常是三菱FX编程口协议。通信参数默认一般是9600波特率、7位数据位、偶校验、1位停止位但这套参数不是说死的PLC本身的通信设置也得匹配。如果出现通信不上先确认触摸屏工程里选择的PLC类型是三菱FX系列再确认COM口参数和线缆接线。编程口通信有时候是422四线制自己做线的话很容易把收发方向搞反建议直接用原厂通信线最省事。触摸屏画面里需要建立变量地址映射。按钮启动自动运行就关联PLC里的M100手动按钮关联M110到M115速度设定值关联D100和D101这样的数据寄存器。信捷屏组态时特别注意按钮的“操作模式”如果做的是“脉冲型”按钮按一下给一个上升沿松手后自动复位适合做启动或者停止如果做“切换型”按钮按一下保持ON再按一下才OFF适合做手动状态切换。新手最容易犯的错就是把启动按钮做成切换型按一下启动再按一下停止生产时操作工会觉得莫名其妙。3. 程序结构设计从流程图到梯形图3.1 程序整体框架划分拿到工艺流程之后我没有直接开写而是先把程序框架分好。FX3U程序在GX Works2里可以有多个程序块但为了兼容习惯我更倾向于在一个主程序里用注释分章节每一章前用一行大标题注释说明这一章是干什么的。整个程序我分成五块初始化、伺服使能与报警处理、手动控制、自动流程控制、触摸屏地址映射。初始化块负责上电后的状态清零和轴参数赋值。比如把Z轴下降到取料位这个动作的定位速度放到D110里把各轴加减速时间放到D112到D114里设备一上电自动填一次默认值。这样操作工或者维护人员即使不修改程序也可以在触摸屏上调整速度参数改Range后程序自动按新值运行。伺服使能与报警处理块是安全的基础。三个伺服使能信号、三个ALM报警输入、急停和限位全在这一块统一处理。只要报警条件成立立刻把所有轴的动作全部停止并且把相应的M标志位置位触摸屏报警画面读取这些M显示报警文本。这里我特别强调不要只用一个常闭触点串在输出回路里那样虽然能停机但操作工不知道停机的真正原因现场又得跑回去看PLC指示灯才能判断效率太低。手动控制块要做到三轴各自点动、独立回原点。点动按钮在触摸屏上按着走、松手停位置速度取一个较小的手动速度值避免调试时撞机。自动流程控制块就是核心的搬运流程逻辑用步进梯形图STL实现。最后的触摸屏地址映射块相当于给触摸屏变量倒腾数据把程序内部标志映射到独立的一组M和D上后续改画面不用动程序逻辑。3.2 三轴定位指令的选择ZRN、DRVI、DRVA怎么用FX3U针对定位控制提供了好几条指令做三轴搬运最常用的就三条ZRN原点回归、DRVI相对定位、DRVA绝对定位。原点回归指令三轴分别都要做。比如X轴的ZRN指令参数里第一是快速回归速度第二是爬行速度第三是近点信号输入点第四是脉冲输出点。伺服碰到近点开关后减速到爬行速度等近点信号消失后在指定位置停下来这个最终位置就是机械原点。DRVI和DRVA的区别在实际使用中非常明显。DRVI是相对定位当前在哪里发多少脉冲就从当前位置走多少距离DRVA是绝对定位指定的是目标绝对坐标PLC自动算出差值往目标位置走。搬运设备我强烈建议用DRVA因为每个工位的坐标都是固定的写成绝对坐标后设备无论停在哪执行同一段程序都会到同一个位置不会因为累计脉冲误差而跑偏。相对定位更适合手动微调或连续推送的场景。使用DRVA时要注意每一条定位指令执行完毕后要等“定位完成”标志位确认到位后才能进入下一步。这个完成信号在FX3U里是由特殊辅助继电器标志给出的写程序时对应轴去查。如果不等到位信号就切换下一步下一个动作的起跑位置还不准确整个设备的位置就全乱了。3.3 自动搬运流程的步进梯形图实现自动流程我用STL步进梯形图来写。STL的好处是每个工序对应一个状态继电器S程序运行时随时可以监控当前执行到哪一步触摸屏上也可以把当前步号显示出来对设备操作人员特别友好。我习惯把搬运流程按先后顺序拆成若干步从S0开始是待机状态S10到S30是各个动作步骤。拿一个具体的取放料流程举例。S0待机检测到启动信号和“有工件”信号后转移到S10。S10做Z轴下降到取料位到位后转移S11S11输出手爪夹紧夹紧到位确认后转移S12。S12做Z轴上升到安全高度然后转移S13S13做X轴、Y轴两个轴的DRVA绝对定位移动到放料位上方全部到位后转移S14S14做Z轴下降到放料位。S15松开工件S16抬升Z轴S17回到待机状态重新循环。每一步的注释都写明这一拍的目的、输出对象、转移条件。STL里有一个技术细节很容易忽略就是同一个输出线圈尽量不要在多个步骤里反复出现。比如“Z轴下降”这个输出在S10和S14都要用到如果两段STL里都直接OUT给同一个Y点程序编译不会报错但运行时内部状态会混乱。我的处理办法是STL里不直接驱动Y输出而是SET和RST中间标志M最后由一块集中输出程序把这些M统一映射到Y点。这样既避免了双线圈问题又方便加互锁条件。3.4 注释规范与软元件规划习惯注释齐全不等于每个梯形图程序段下面堆几十行文字而是要让维护的人能在看到程序段第一眼时就知道这段是做什么的。我一般在GX Works2的每个程序段标题位置写一句总注释比如“X轴点动正转控制速度D120按钮M110正限位X5”然后在每一行继电器触点旁边做简单功能注释。对于中大型程序还可以在程序开头做一个软元件清单注释把M、D的区间规划列出来相当于给程序建了个目录。软元件规划是所有程序结构清晰的基础。三菱FX3U软元件不算多但做三轴搬运足够用。M区段我把M0到M99留给公共功能包括急停、报警、复位、启动、停止M100到M199留给伺服相关状态比如各轴报警、各轴原点回归完成、各轴定位完成M200到M299留给手动功能M500到M599留给自动流程各步骤的状态位。D区段也类似D0到D49是设备参数D50到D99是全局计数D100到D199是各轴位置与速度参数。这样程序写到哪里软元件编号都符合规律后期排查很快。4. 联机调试与常见故障排查4.1 首次上电的调试顺序第一次上电联机千万别直接按自动循环一定要按从简到繁的顺序来。我的顺序是先单独调试伺服用驱动器面板上的手动模式让电机空转确认电机正常旋转、编码器反馈正常然后断开伺服使能写一个极简单的PLC点动程序手动发脉冲让伺服按指定方向移动确认脉冲接线和方向接线都正确再恢复伺服使能用程序分别点动三轴。三轴点动都能正常走之后开始调原点回归。把机械手动移到轨道的中间某个位置执行一次ZRN原点回归看电机是否先朝原点方向快走碰到近点开关后减速最后停在正确位置。三轴原点回归都完成以后再开始空跑自动流程这时可以先不装工件让设备用空的吸盘或手爪走完整套流程确认每一步的到位信号和转移条件都正确。最后才是带载试运行观察实际定位精度和执行节拍。这套顺序看着简单但很多人跳过面板试机直接联PLC结果伺服接线不对调了一个小时都没头绪。伺服面板试机本质上是确认伺服驱动器和电机本身没问题先把底层隔离开后面出了问题就知道是PLC、接线还是机械的问题。4.2 原点回归的常见坑原点回归是三轴搬运里最容易出问题的地方。第一个坑是近点开关信号接反ZRN指令里指定的近点信号必须是从0变成1这一跳变触发。如果接的是常闭型接近开关电气动作逻辑刚好相反电机就可能在碰到开关后反向跑或者不停。第二个坑是爬行速度设置太高ZRN高速碰到近点开关后减速爬行爬行速度如果超过机械允许范围由于惯性会导致每次停的位置不一样原点误差会随着循环次数累积最后工件越放越偏。第三个常见问题是原点回归方向和机械实际原点的方向不一致。比如机械原点在X轴负方向程序里原点回归的正方向参数却设成了向正方向找那伺服一启动就朝着远离原点的方向跑直到撞上硬限位。出现这种情况先手动确认原点方向再对照程序里ZRN指令的方向参数。第四个坑是伺服报警没有复位导致原点回归指令发不出来。程序里必须先把伺服报警复位条件做完整并且在触摸屏上有明显的报警文字提示。在原点回归程序里我还会加一个保护措施给原点回归过程增加一个超时标志。如果ZRN指令运行了很长时间还没有找到近点开关就怀疑近点开关损坏或者被遮挡住程序自动报警停机防止电机一直朝机械末端相对位置猛开过去。4.3 手动自动切换与安全联锁手动和自动之间的切换必须在程序里做严密的互锁。三个轴在自动流程运行时触摸屏上的手动点动按钮必须全部失效否则操作工在自动运行时误触点动按钮会导致两个不同的定位控制逻辑同时给同一个伺服发脉冲轻则报警重则机械碰撞。我的处理方式是做一个公用状态位M100手动状态下M100为ON自动状态下M100为OFF所有手动点动输出在程序的集中输出块里都串上M100的常开触点自动流程的控制也串上M100的常闭触点。启动自动循环之前除了急停复位和报警复位的条件还必须检查三个轴是否都已经完成了原点回归。要是某一轴没有原点位置信息就不要允许自动启动。这个逻辑很多初学者会遗漏结果设备一按启动Z轴不知道当前位置在哪里就直接走绝对定位指令向着错误的位置跑过去后果很严重。安全联锁方面急停按钮是物理常闭触点接到PLC输入程序里用该输入控制整体流程暂停和伺服使能切断。正负限位信号也接到PLC程序里监测限位触发时禁止相应方向的动作同时触摸屏显示拍限位报警。驱动器自带的CWL和CCWL限位输入能接也尽量接等于是给软件保护上了一道双保险。4.4 触摸屏画面调试和故障快速定位信捷触摸屏的画面我一般分为手动画面、自动画面、参数画面、报警画面四页。手动画面放三个轴的正反向点动按钮和回原点按钮自动画面放启动、停止、复位按钮以及当前运行状态指示灯参数画面放各轴目标位置、定位速度、加减速时间等可修改参数报警画面显示报警文本和历史报警记录。调试触摸屏时最常见的问题就是按钮按下去了PLC没反应。这时候先不要急着怀疑触摸屏坏了打开触摸屏的变量诊断或者PLC的在线监控看对应的M点有没有动作。如果M点依然OFF多半是按钮关联的地址不对或者按钮操作模式设错了如果M点在动但程序没执行对应动作再往PLC程序里查。这样一分为二排查方向很明确。想要快速定位自动流程卡在哪一步我一般会在触摸屏自动画面上放十来个指示灯对应STL的每个步号。设备一停操作工看一眼画面就知道当前执行到第几步是等待升降到位、等待着爪检测还是等待放料完成。这套做法特别实用设备故障时不用拿电脑连PLC看程序直接在触摸屏上就能把问题锁定到具体工序然后再去检查对应的传感器和执行机构。设备跑一段时间后如果有某个传感器偶发性失灵比如磁性开关松动、近电开关沾灰导致信号不稳定自动流程就会经常停在同一道工序。触摸屏步号显示能让你一眼发现规律。这个调试经验帮我省了很多来回跑现场的时间强烈建议在做三轴搬运这类设备时把这个步号显示画面加上。这套程序做完我自己有几个特别深的体会。程序结构清晰比编程技巧重要得多因为设备到了客户现场维护的人不一定是当初编程的人注释和模块化能让他们少走很多弯路。伺服参数第一次调好后一定要拍照存档驱动器哪天坏了换台新的直接照着参数恢复能省几个小时重新调试。触摸屏上的调试信息别舍不得放步号、各轴位置、报警原因这些看起来不起眼现场用起来才懂它的价值。这套三轴搬运程序的思路和坑希望能帮正在做类似项目的你少踩几个雷。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ax:基于Kubernetes的Agentic编排CLI入口与调度实践 2026/9/25 6:07:20

ax:基于Kubernetes的Agentic编排CLI入口与调度实践

1. 从“ax”这个标题说起:一个被低估的Agentic编排入口第一次看到“ax”这个标题,很多人会以为是某个命令行工具的缩写,或者某个内部项目的代号。但把热搜词摊开来看——ax、agentic、orchestrator、Kubernetes、CLI——这几个词凑在一起&…

阅读更多 →
Windows音效增强设置详解:从系统开关到专业EQ调音 2026/9/25 6:07:20

Windows音效增强设置详解:从系统开关到专业EQ调音

在Windows里做音效增强设置,是我这几年调耳机和音响绕不开的一步。你有没有过这种经历:花一两千买了副口碑不错的耳机,到手一听却发现声音闷、人声远、低音糊,和网上吹的根本不是一回事。你先别急着退货,大概率问题不在…

阅读更多 →
从延迟任务到分布式调度:ax调度模块的架构设计与踩坑实录 2026/9/25 6:07:20

从延迟任务到分布式调度:ax调度模块的架构设计与踩坑实录

做调度模块这一年,我最大的感受是:一个叫“ax”的小项目,差点把我整崩溃。“ax调度”的技术方案并不复杂,难的是需求边界、时间精度、分布式一致性这些藏在细节里的东西全都要搞清楚。这个需求最初听起来特别简单——业务方说“帮…

阅读更多 →
基于Kubernetes的Agentic编排:用CLI调度多Agent任务实战 2026/9/25 6:07:14

基于Kubernetes的Agentic编排:用CLI调度多Agent任务实战

1. 从“ax”这个标题说起:一个被低估的Agentic编排入口第一次看到“ax”这个标题,很多人会以为是某个命令行工具的缩写,或者某个内部代号。但把热搜词摊开来看——ax、agentic、orchestrator、Kubernetes、CLI——这几个词凑在一起&#xff0…

阅读更多 →
省级经济发展目标与重点领域分析(2026) 2026/9/25 6:07:08

省级经济发展目标与重点领域分析(2026)

1. 省级经济发展目标全景分析2026年作为"十四五"规划收官之年的关键节点,全国31个省级行政区的经济发展目标呈现出明显的区域差异化特征。从已披露的数据来看,各省GDP增速目标区间集中在5%-7%之间,其中:东部沿海省份普遍…

阅读更多 →
Learn-Algorithms 面试专题:二叉树遍历的递归与非递归实现、层序打印与深度求解实战 2026/9/25 6:06:55

Learn-Algorithms 面试专题:二叉树遍历的递归与非递归实现、层序打印与深度求解实战

教程 【免费下载链接】Learn-Algorithms 算法学习笔记 项目地址: https://gitcode.com/gh_mirrors/le/Learn-Algorithms 点击查看 免费下载 本篇技术指南聚焦 Learn-Algorithms 仓库「9 Algorithms Job Interview」目录下的「7.1 二叉树-遍历」专题,系统…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉