
有一年我在现场蹲了三天就为了搞定一个看起来再简单不过的问题配料秤到了设定值为什么还会继续涨车间老师傅说这不就是我们当初担心的落差吗。可那个落差数据早上和下午完全不一样上午物料干、流动性好下午料仓压力大一停就会冲出几十公斤。就是从那次开始我意识到基于三菱PLC的自动配料控制系统重点不是把M线圈和Y输出接对而是先把物料特性和控制逻辑一起想清楚。这篇文章会把一个典型的三组分自动配料项目从设计、选型、编程到调试的全过程拆开讲。适合正在做自动配料项目、刚接触PLC配料控制、或者想从继电器逻辑转PLC控制的人参考。我不会只讲能动的程序我会把那些真正影响精度的细节和我在现场踩过的坑都交代清楚。1. 配料系统不是到数就停先看清现场的物料和误差1.1 物料特性决定控制策略我接手过很多配料项目发现一个规律拿到任务后第一件事不应该翻开软件写梯形图而是先去现场搞清楚物料长什么样、怎么流、怎么停。以我常做的三组分配料系统为例主料A是粉体辅料B是颗粒微量组分C是细粉剂还要按比例加水。这三种物料看着简单实际控制逻辑完全不一样。粉料最大的问题是架桥。料仓里粉料结拱之后螺旋给料机在里面空转秤上的重量纹丝不动等料拱突然塌下来重量会在几秒内猛冲一大截。颗粒料流动性好落差相对稳定但下落时对料斗的冲击力大称重信号容易跳变。液体则有管道余流电磁阀关闭之后管路里还会滴一点出来这批滴多、下批滴少很难用固定时间彻底解决。所以我在设计控制策略时对不同物料用了不同的动作方式。主料A用变频器驱动螺旋给料机粗加料阶段频率拉到35Hz左右快速进料接近目标时切到10Hz精加料用低速减少空中悬料量。微量组分C用振动给料器靠点动方式控制每次振动几十毫秒单次落料几克到几十克精度很高。液体则尽量缩短阀门到料斗的管长减少管道残留最后再用点动滴水的方式补足。投料顺序也很重要。我的习惯是先投主料再投辅料最后投微量组分然后加水搅拌。原因很简单主料先入斗后面的组分落在主料表面上搅拌时有更多时间混合如果一开始就投微量组分很容易被后续物料埋在死角里。这个顺序看起来是工艺问题但直接决定了PLC程序里状态机的流转顺序。1.2 系统组成与数据流明确了工艺再来看系统组成。一个典型的自动配料控制系统分四层检测层称重传感器、称重变送器、料位开关、变频器反馈。控制层三菱FX3U系列PLC、模拟量输入模块、RS485通信扩展板。执行层变频器驱动的螺旋给料机、振动给料器、电磁阀、搅拌电机、出料插板阀、报警灯塔。人机层昆仑通态触摸屏必要时加LabVIEW上位机做数据记录。这里面的数据流是一条闭环操作员在触摸屏输入配方PLC读取当前料斗重量经过滤波、去皮、落差补偿后与配方目标值做比较然后输出给各执行机构。与此同时PLC通过RS485读写变频器的频率和电流通过脉冲输出控制步进电机每个批次结束后把实际重量、误差、日期时间存到触摸屏或者上传到上位机。很多初学者容易忽略数据流规划导致程序写到一半发现变量不够用、寄存器冲突。我在每个项目开始前会先画一张表列出配方区、称重区、状态区、报警区、统计区分别占用哪些D寄存器写清楚谁负责写、谁负责读。这个习惯帮我省掉了大量调试时间。2. 三菱PLC选型与硬件链路的取舍2.1 先算I/O和通信需求再定FX3U还是FX5U选PLC型号不能凭感觉先老老实实算I/O点数。以我那个三组分配料系统为例数字量输入大概有启动按钮、停止按钮、急停、手动/自动旋钮、主料仓低料位、辅料仓低料位、微量斗低料位、搅拌电机过载、步进原点、插板前后限位等加起来14点左右。数字量输出大概有主螺旋变频运行、辅螺旋变频运行、振动给料器、进水泵、插板步进脉冲、插板方向、搅拌接触器、出料泵、报警灯等10点左右。模拟量输入至少三路主料斗称重变送器4-20mA、辅料斗称重变送器4-20mA、微量斗称重变送器4-20mA。还要预留一两路以后可能加温度、压力信号。这样算下来FX3U-32MT/ES-A加一块FX3U-4AD模拟量模块基本满足要求。为什么强调选MT型因为MT是晶体管输出可以发高速脉冲控制步进电机继电器输出型号虽然便宜但Y0和Y1发不出脉冲后面接步进电机就麻烦了。如果项目预算稍微充足我建议直接用FX5U-32MT/ES带内置以太网口以后接上位机、MES系统都比FX3U加转接板方便。大型项目比如三条生产线联动的配料车间就上Q系列加QJ71E71以太网模块走Modbus TCP与上位机对接触摸屏连接也更稳定。2.2 称重信号进PLC的三种方案这是选型里最容易被低估的部分。称重信号进PLC一般有三种做法我分别踩过第一种是传感器加变送器变送器输出4-20mA给PLC模拟量模块。成本低实时性好我现在的项目多数用这个方案。FX3U-4AD的刷新周期对配料控制来说足够变送器负责给传感器供桥和放大4-20mA比毫伏信号抗干扰能力强很多。第二种是称重仪表加RS485通信PLC通过串口读仪表的重量值。好处是仪表本身带标定、滤波、显示操作工能直接看到秤值维修方便坏处是很多仪表的RS485刷新周期在几十到几百毫秒对快速配料来说会感觉反应慢半拍。如果工艺要求严格计量、需要计量检定证书那必须走这种方案。第三种是PLC模拟量模块直接接称重传感器毫伏信号。这个我强烈不推荐普通PLC模拟量模块精度和激励电源都不够标定非常痛苦遇到温度漂移就更难查。我在这个项目里选了第一种核心原因是我需要在精加料阶段每秒做多次比较及时捕捉停止信号模拟量采集的响应速度比RS485轮询要快得多。2.3 执行机构与通信选型执行机构的选型体现了一个人对工艺的把握。螺旋给料机用变频器驱动最常规的做法是用多段速端子切换高低速但我更倾向用RS485通信控制变频器。原因很直接端子方式如果要改速度得跑电柜里调电位器或拨码用RS485之后PLC程序里一个MOV指令就能改频率还能远程读电流、读故障代码方便很多。三菱FR-E700系列配FX3U的485ADP板用Modbus RTU协议接线也不复杂。出料插板阀我用了步进电机而不是气缸。气缸只有开和关两个位置对出料流量的控制太粗糙步进电机可以精准控制闸板开度需要慢速卸料时开小一点需要快速卸料时开大一点灵活性高。FX3U的Y0发脉冲Y1发方向信号配一个步进驱动器就能跑。触摸屏选了昆仑通态原因很务实价格合适驱动库齐全对三菱FX系列的串口通信支持成熟。我自己做项目通常不把触摸屏选成三菱GOT除非客户指定因为昆仑通态在中小型项目里已经很稳定备件也好买。3. I/O分配与原理接线这一步省事现场就多熬几个夜3.1 一个实际项目的I/O分配示例I/O分配表是整个系统从设计落到图纸的第一步也直接决定了后面程序好不好写。下面是我这个三组分配料系统的实际I/O表可以作为模板抄地址信号名称说明X0启动按钮自动启动一个批次X1停止按钮完成当前投料后停机X2急停按钮硬回路急停同时进PLCX3手动/自动旋钮切换模式X4主料仓低料位料位低时报警X5辅料仓低料位料位低时报警X6微量斗低料位料位低时报警X7搅拌电机过载热继电器反馈X10步进原点插板阀原点传感器X11插板前进限位步进正方向限位X12插板后退限位步进反方向限位Y0步进脉冲高速脉冲输出Y1步进方向方向信号Y2主螺旋变频运行变频器启动信号Y3辅螺旋变频运行变频器启动信号Y4振动给料器微量组分给料Y5进水泵加水电磁阀Y6插板使能步进驱动器使能Y7搅拌接触器搅拌电机Y10出料泵卸料泵/卸料阀Y11报警灯声光报警模拟量方面FX3U-4AD的CH1接主料斗变送器CH2接辅料斗变送器CH3接微量斗变送器CH4留空备用。四条通道都是4-20mA电流输入这种信号比电压信号抗干扰更好远距离传输也不会因为线阻产生明显压降。特别提醒一句急停按钮必须走硬回路直接切断主接触器PLC程序里看到的急停状态只是用来做报警和逻辑联锁。如果只靠PLC程序控制急停PLC死机或者输出点烧毁的时候设备根本停不下来这是安全事故不是程序问题。3.2 模拟量接线和接地必须较真的地方接线这张图我每次都给电气装配工人强调三个原则。第一模拟量信号电缆必须用屏蔽双绞线屏蔽层只能在电柜侧单端接地。我曾经遇到一台设备称重信号在螺旋启动瞬间跳变查到最后就是屏蔽层在传感器端和PLC端都接了地形成地环路。把传感器端屏蔽层剪断之后信号立刻稳了。第二模拟量信号线和变频器动力线绝对不能走同一个线槽。变频器输出侧是强干扰源哪怕是平行走线一米都可能让4-20mA信号上叠加尖峰。我建议信号线走独立的金属线槽实在要交叉也必须90度交叉尽量减少耦合面积。第三称重变送器和PLC输出负载不要共用一个DC24V开关电源。螺旋启停、搅拌启动瞬间电流波动很大如果变送器供电被拉低称重值就会跟着跳。我给模拟量回路单独配一个24V电源成本不高但能省掉很多现场排查时间。4. 控制程序状态机、滤波和落差补偿是核心4.1 用状态机组织投料流程别用一坨置位复位配料流程天然是分步的启动、粗加主料、精加主料、粗加辅料、精加辅料、微量补料、稳定搅拌、卸料、结束。这种流程如果不做状态机全部用置位复位写程序做到一半就会乱成一锅粥。一个线圈被三处地方置位、两处地方复位现场查故障的时候根本不知道它当前为什么是这个状态。我在程序里用SFC思路组织每个状态用一个STL步。示意如下LD M8000 SET S0 STL S0 OUT Y11 ; 报警灯复位或状态提示根据实际定义 LD X0 ; 启动按钮 SET S20 ; 进入主料粗加 STL S20 OUT Y2 ; 主螺旋变频运行 LD M40 ; 精加切换条件满足 SET S21 ; 切换到主料精加 STL S21 OUT Y2 LD M41 ; 主料投完条件满足 SET S22 ; 进入辅料加工实际上我很少直接用STL指令更多是在梯形图里用辅助继电器M实现同样的状态转移因为很多电气维修工更习惯看