
1. 这个分拣系统到底要解决什么做自动化项目时间久了你会发现FMS柔性制造系统里最磨人的往往不是加工设备本身而是物料怎么被快速、准确地分配到下一道工序。尤其是在中小型产线里物料的种类多、批次杂靠人工分拣不仅效率低还特别容易出错。我手里的这套基于S7-200 PLC和MCGS触摸屏的物料分拣系统就是典型的柔性产线单元传送带把混合物料送过来传感器识别种类气缸在指定位置把不同物料剔除到对应料箱MCGS触摸屏用来监控和操作。S7-200 PLC虽然是一款经典的微型PLC但它的运算速度、IO扩展能力和通信接口对于这类分拣场景完全够用。MCGS作为人机界面可以实时显示产量、故障报警、配方参数还能通过RS485和PLC建立PPI通信。精准分拣技术的关键不在于单个硬件多高级而在于传感器、执行机构、PLC程序和人机界面之间的时序配合是否到位。适合谁参考呢非标设备调试工程师、自动化专业的现场工艺员还有正在规划小型FMS教学线的朋友。如果你手头有类似的物料分拣需求无论用的是什么PLC和触摸屏这套思路都可以迁移过去。项目不复杂但要把每一步的逻辑讲透真正让设备跑得稳、分得准避免“设备会动但总是出错”的尴尬局面。2. 硬件选型与布局参数精准分拣的底气所在2.1 传感器怎么选安装间距怎么定分拣系统首先要解决“认出这是什么”的问题。市面上的传感器种类很多但选型不能只看品牌要看被测物料的特性。最常见的三类物料分拣场景是金属与非金属分拣、颜色分拣、形状或高度分拣。金属与非金属用电感式接近开关最经济比如NPN常开的M12电感传感器检测距离4mm左右。金属物料接近时输出有效信号非金属则不触发。但有个坑如果非金属物料里嵌有金属标签也会误触发所以安装前要确认物料成分。颜色分拣光电传感器加光纤放大器更稳。选择色标传感器可以设定RGB阈值比如蓝色物料和白色物料能明确区分。普通光电开关只能区分反射强度遇到相似色容易误判。形状和高度分拣可以用光电对射传感器加安装支架通过物料遮光的时间差推断长度或者用激光位移传感器测量高度差。布局参数是精准分拣的重中之重。假设传送带匀速运行速度为v单位mm/s从传感器检测点到剔除气缸中心线的距离为L单位mm物料通过该段距离需要的时间t_delay L / v。而PLC从接收传感器信号到输出气缸动作的完整时间由三部分组成PLC扫描周期T_scan、中间继电器和电磁阀动作时间T_valve、气缸伸出到位时间T_cyl。如果t_delay小于这三部分之和物料就会跑过头气缸推空或推到两个物料中间。所以实际布局时至少留出20%到30%的余量。举例传送带速度300mm/sPLC扫描周期约10ms电磁阀动作时间20ms气缸伸出时间100ms则总动作时间约130ms。那么传感器检测点到剔除气缸中心线的距离至少需要300 * 0.13 * 1.3 50.7mm实际取60mm以上。如果现场空间紧张另一个办法是降低传送带速度或者把传感器安装位置前移。总之布局参数是先算出来的不是凭感觉拍的。2.2 执行机构与气路设计物料分拣的执行机构最常用的是气缸加推板。气缸缸径的选择要参考物料重量单个物料不超过500g时缸径20mm或25mm足够如果物料比较重或摩擦力大建议用32mm缸径。推料动作建议采用薄型气缸节省安装空间。气缸前端加尼龙推头避免划伤物料。气路设计里最容易忽略的是节流阀。直连电磁阀的气缸动作速度不可控伸出时冲击大容易把物料打飞也容易造成磁性开关位置漂移。在进、出气口各加一个节流阀通过排气节流的方式调节气缸速度让推料动作“软而有力”。另外为保证分拣节拍电磁阀选二位五通单电控失电时气缸复位这样停机或急停时推板不会挡住物料。磁性开关的安装也要细说气缸本体上有安装槽磁性开关位置决定了检测点。如果磁性开关装得太靠近气缸中间刚伸出一点就导通PLC接收到反馈时物料可能还没有被完全推出装得太靠末端反馈会延迟影响下一段节拍。我通常的做法是先把物料实际推到位观察磁性开关的感应位置再锁紧螺钉保留0.5mm的活动余量。3. PLC控制程序里的精准分拣逻辑3.1 物料识别与计数实现S7-200 PLC的编程软件是STEP 7-Micro/WIN逻辑可以用梯形图完成。物料识别可分为两个层次第一层是传感器I点信号比如I0.0是入口检测I0.1是金属检测I0.2是颜色检测第二层是组合条件判断。PLC的扫描特点决定了我们不能在扫描周期内做复杂的动态规划但这里逻辑简单只需组合逻辑即可。以三路分拣为例设计一个2比特编码I0.1和I0.2的组合可以区分四种物料类别。例如I0.10, I0.20默认物料A流向最末端料箱I0.11, I0.20金属物料B第一剔口气缸动作I0.10, I0.21蓝色物料C第二剔口气缸动作I0.11, I0.21特殊物料D触发报警或由人工处理入口检测传感器I0.3负责给每一个进入系统的物料打一个“入库时间戳”。这里不用绝对时间而是用移位寄存器指令。当入口传感器检测到上升沿将当前识别结果送入移位寄存器传送带每前进一定距离由编码器脉冲或定时器触发移位一次保证物料到达剔除点时PLC能根据移位寄存器对应位输出动作。这比单纯延迟定时器更抗干扰特别是传送带速度波动时延迟定时器就会失效。计数同样要放在程序的核心逻辑里每检测到一个物料总计数加1每个剔除气缸动作一次对应料箱计数加1。计数器建议用32位增计数指令CUD防止溢出。当某类物料计数达到上限PLC输出信号让声光报警器提示清箱。MCGS触摸屏通过变量读取这些计数值实时显示在画面上。下面展示一段常用的移位寄存器思路梯形图文字化描述网络1入口上升沿将I0.1和I0.2的当前状态写入移位寄存器最低位。网络2由编码器信号触发移位每次移位后各剔除位对应物料的位置信息更新。网络3判断移位寄存器中对应剔除位的值若为1则输出对应的中间继电器线圈M。网络4中间继电器M再驱动Q输出同时保护磁性开关反馈互锁。这里有个很关键的点编码器信号。如果传送带是机械链条驱动启停时会有打滑编码器脉冲计数可能失准。更稳妥的做法是用入口和剔除点之间多个光电传感器检测物料是否到达传感器沿传送带按等距离布置用上升沿触发剔除动作。这样即使速度波动只要物料越过某一个传感器动作就基于真实的物理位置触发。3.2 剔除控制的互锁与超时保护分拣系统最怕“追尾”和“漏推”。传送带上的物料如果间距不足第一口气缸还没收回第二口气缸又要动作会卡料。为此在PLC程序中必须加入互锁逻辑气缸执行剔除动作之前必须先检查本气缸是否在初始位同时上一路剔除气缸是否已复位。具体的做法是使用两个内部标志位M0.0本气缸动作允许M0.1上气缸动作中。在输出Q0.0之前检查M0.1为0然后置位M0.0气缸伸出到位延时0.2s后控制电磁阀失电气缸退回到位后复位M0.0和M0.1。这个0.2s的延时是为了让物料完全落入料箱防止推板退回时把物料带回来。还有一个容易踩的坑是超时监视。假设气缸正常动作需要0.3s但气源压力不足或物料卡住可能出现“指令已发出但气缸没动”的情况。如果程序不加以监视整条线会处于等待状态。我一般在动作指令发出后启动一个0.8s的定时器如果0.8s内磁性开关没有反馈信号就触发超时报警并停止传送带。这样即便现场没人盯着设备也能自动保护不会让故障扩大。3.3 速度波动下的精准定位补偿传送带电机如果是普通单相电机负载变化会导致速度波动。精准分拣不能只靠延时必须引入速度补偿。最简单的补偿方法给传送带电机加变频器将速度反馈信号传给PLC的模拟量输入程序根据当前速度动态修正剔除延时。但S7-200本体通常只有模拟量输入模块如果不想多花这个钱可以改用更聪明的办法——脉冲计数测速。入口传感器和下一个安装在已知距离处的传感器构成一个测速区PLC用两个传感器上升沿的时间差计算当前速度v 已知间距 / 时间差。然后根据当前速度计算剔除延时时间用定时器实现动态补偿。这个方案的精度取决于两个传感器的安装间距间距越大测速越准但同时会占用更长传送带长度。我现场常用的间距是200mm这样速度测量误差能控制在5%以内对剔除精度影响不大。另外为防止误测量的干扰一定要在程序里加信号滤波。传感器信号接入PLC后先经过一个短暂延时确认比如5ms再参与计算。传送带上的物料边缘如果是不规则形状光电传感器的信号会产生抖动脉冲不滤波的话计数和测速都会乱套。我在实际调试中遇到过一台设备因为接近开关被飞溅的金属碎屑反复触发计数一天能多出上百个。后来在程序里加了连续累计时间判断才把现场稳定住。4. MCGS触摸屏的画面组态与通信调试4.1 变量字典和画面设计MCGS组态软件分为嵌入版和网络版工程下载到触摸屏后通过串口和S7-200通信。变量字典是连接PLC地址和画面对象的桥梁。这里的核心是把PLC的I/O地址、寄存器地址和触摸屏变量一一对应。比如S7-200的M0.0对应MCGS的内部开关型变量VW100对应PLC的计数器值用16位无符号数值类型。画面设计不能太花哨现场操作员要一眼看到关键信息。我的布局习惯是主画面分为三个区域顶部状态区运行/停止、自动/手动、急停状态、传送带运行速度。中部监控区三类物料的实时计数、料箱满信号、当前剔除气缸位置状态。底部操作区启动按钮、停止按钮、复位按钮、手动测试按钮。手动测试按钮调试时很关键。自动运行前用触摸屏上的手动按钮单独测试每个气缸的动作观察气缸是否顺畅、磁性开关是否正常。画面上的指示灯要用闪烁效果提示报警比如料箱满时红灯闪烁声音报警器同时响起。MCGS本身支持声音输出但要确认触摸屏型号带蜂鸣器否则只能靠外接声光报警器。4.2 通信参数设置与常见坑S7-200 PLC与MCGS触摸屏通信走的是PPI协议RS485两线制半双工。MCGS触摸屏背后的COM口要和PLC内置的Port0连接。通信参数必须一致波特率9600、8数据位、偶校验、1停止位。这个参数很多人在PLC侧设置好了却忘了在MCGS设备窗口里也同步修改。一旦两边波特率不一致触摸屏就显示“设备通信超时”但PLC程序本身运行正常这种隐性故障容易让新手误判为PLC死机。通信地址设置也有讲究MCGS设备窗口里填写的PLC站地址必须和PLC系统块中的站地址一致。比如PLC Port0设置为地址2MCGS侧也填2。如果现场有多台PLC挂在同一485总线上站地址绝对不能重复。调试时最有效的办法是先用串口调试助手监听RS485总线上的报文正常时能周期性看到MCGS发出的读请求帧和PLC的响应帧。网上有人说可以用第三方工具解码PPI报文但我更推荐直接用串口监视器观察信号状态判断是哪一边没有回帧。还有一点是关于MCGS触摸屏程序上传和下载。触摸屏组态时工程维护非常重要。我建议每次改画面或变量后及时从触摸屏“上传”原始工程到电脑备份同时保留一份PLC程序备份。注意不同版本的MCGS组态软件工程文件不通用升级软件前一定要咨询官方兼容性。另一点触摸屏的工程下载要用U盘模式或以太网如果走串口下载速度慢且容易中断大工程还是用U盘更稳。4.3 物联助手和账户注册的实用经验现在的MCGS触摸屏不少支持物联功能也就是通过物联助手远程监控。这功能对异地的分拣线特别实用出差时用手机就能看产量和报警。最开始需要注册物联助手账号流程不复杂在官网下载物联助手客户端按要求填企业信息和个人联系方式注册绑定设备时输入触摸屏屏幕上的设备ID然后设置管理密码。这里有个容易忽略的点物联助手的设备ID和触摸屏的IP地址不是一回事远程通信走的是平台中转绑定成功后设备端必须保持联网状态。远程监控不能替代现场急停操作所以我在系统里始终保留了物理急停按钮和本地触摸屏的手动控制权限。物联助手只做只读监控和部分参数下发关键操作必须现场确认才能执行。这样既方便远程预警又不牺牲安全。5. 联调实录那些必须踩过才知道的坑5.1 传感器误触发和计数漂移本文前面提过传感器抖动问题这里详细展开一个实战案例。现场有一条60mm宽的皮带线物料是直径20mm的金属圆柱体使用电感接近开关做入料检测。调试时发现产量数总比人工数多十几个百分比。后来用示波器查了接近开关输出信号发现物料还没有完全进入检测区域时传感器就已经有一个微弱的振荡触发PLC扫描周期短把这个微弱的上升沿也记录了下来。解决办法是双保险硬件上在传感器前端加安装防护罩减少侧面金属干扰软件上对传感器信号做“连续有效判断”比如要求传感器信号保持稳定20ms后才认为是一个有效物料。具体在S7-200里用一个TON定时器实现信号为ON时定时器计时计时到20ms输出一个有效识别标志。如果物料太快20ms滤波会丢失信号可以缩短到5ms但要用质量可靠的传感器。总的原则是滤波时间必须小于物料通过传感器的时间且大于传感器信号抖动时间。5.2 气缸动作慢或者推不动气缸动作慢一般不是气缸本身的问题。先查气源压力分拣系统的气源压力不能低于0.4MPa。现场最常见的是气源管径选小了如果同时有多个气缸动作瞬间用气量增大气压跌落明显。解决方案在气源处加装储气罐或者在每个气缸的进气管上增加独立的快速接头减小压降。还有一个容易忽略的是节流阀调整方向。排气节流方式是通过调节排气口的小孔大小来控速如果调得太小排气不畅气缸伸出会非常慢而且磁性开关迟迟不动作。我总结了一个口诀伸出速度看排气退回速度看进气。调气和调绝缘一样都需要耐心一般先把节流阀设定在完全打开位置然后逐步收小直到气缸动作平稳没有撞击声。物料推不动的情况多发生在推板安装高度不合适。推板太低会蹭传送带面造成额外阻力推板太高物料中心高于推力线容易翻滚。正确的高度是推板中心线与物料重心落在同一水平面上也就是推板下边缘略高于传送带表面1-2mm。5.3 MCGS画面卡死或无法切换触摸屏在连续运行几天后出现画面切换卡顿很多人会怀疑是PLC通信拖慢其实主因是画面里动态对象的刷新频率太高。MCGS组态时如果大量使用“数值动态显示”且刷新时间为100ms就会不断向PLC发读写请求轻则画面闪烁重则触摸无响应。我的经验是不需要实时监控的数据比如每日累计产量刷新时间可以改成1s只有气缸状态和报警信号需要高速刷新刷新时间设为100ms足够。另一种原因是触摸屏存储空间不足。MCGS组态软件生成的工程会记录报警历史、数据存盘如果循环存储没有定期清理长时间运行后会出现存盘故障。解决办法是设置数据存盘策略为“按时间覆盖”比如仅保留最近7天的历史数据并在工程里加入“清除历史”按钮。这个维护点在客户现场很有用能大幅减少售后次数。写到这里联调过程中还遇到过一次通信断断续续的问题触摸屏显示通信超时但PLC指示灯正常。排查后是RS485屏蔽层没有单端接地电缆走线又和变频器输出线绑在一起变频器高频噪声直接耦合进总线。把通信线换成双绞屏蔽线屏蔽层在PLC侧一点接地并和变频器输出线保持30cm以上间距问题立刻消失。其实很多通信故障都不是参数问题而是布线安装的细节不够严谨。6. 升级与扩展往精益分拣再迈一步这套系统稳定运行后还可以在原有基础上扩展成更通用的柔性分拣环节。S7-200 PLC的存储区有限如果物料种类超过8种建议要么升级成S7-1200/S7-1500要么用PLC加视觉模块的方式做二次分类。视觉模块通过串口或以太网把识别结果发送给PLCPLC根据结果触发不同位置的剔除气缸。视觉的好处是不需要复杂的传感器矩阵换产时只需在触摸屏上切换配方即可。MCGS触摸屏在配方管理上也有优势。可以把不同物料对应的气缸动作位置、传感器阈值、剔除延时都做成一组配方参数。换产时操作员在触摸屏上选择配方号PLC自动加载对应参数。这个设计特别适合小批量多品种的FMS产线。如果你还想做数据和MES系统的对接当前S7-200 PLC可能略显吃力只能通过触摸屏把关键数据上报。但作为一条小型分拣单元这套PLCMCGS方案算是性价比很高的组合。精准分拣的本质是越快越准而越准往往需要对每一个细节反复推敲从安装间距毫米级的计算到程序里毫秒级的延时补偿再到通信线缆的屏蔽接地。我在实际项目里最大的体会是很多长期稳定运行的设备并不是指标多先进而是现场的每个环节都有人认真处理过。希望你也能从这套分拣系统里琢磨出属于自己的一套可靠的调试方法论。