前阵子跟完一条冲压件自动生产线的电气系统设计,从方案选型、控制程序编写到现场调试整条链路都走了一遍,顺手整理了一套比较完整的数据和图纸记录。这条线不算大,属于典型的中小型冲压线,核心是一套基于PLC的电气系统,负责驱动开卷校平、送料辊、5台压力机、输送带和码垛机械手。项目做完以后,不少同事和学生在问控制方案、I/O分配、程序结构这些细节,所以我干脆把整条线从头拆开讲一遍,包括关键参数计算和踩过的坑,给准备做PLC冲压线项目或者做相关课程设计的读者,一个可以直接参考的完整样本。
很多人在网上搜冲压线电气设计,找到的都是零散问答,要么只讲某个压力机主电路,要么只贴一段梯形图。真正缺的,是一份从需求分析、硬件选型、程序设计到现场验收的完整链路记录。这篇博文就围绕这套“基于PLC的冲压件自动生产线电气系统设计”展开,把每个环节用到的数据、选型依据和逻辑判断全部说清楚。不管你是刚接触这个方向的电气工程师、准备PLC毕业设计的学生,还是要评估产线自动化改造的现场设备人员,应该都能从中找到能直接用的东西。
1. 产线需求分析与总体控制方案
1.1 这条冲压线到底在做什么
冲压线这个东西拆开看,无非是几个固定动作的重复:开卷、校平、送料、冲压、取件、输送、码垛。我这次做的产线,以5台压力机为主体,前段配置开卷机和校平机,中段是送料辊和输送带,末段是一台小型码垛机械手,生产的产品是小型金属结构件,单件重量不大,但批量大,换型频率高。
产线总体要求是平均节拍6件/分钟,短时最高8件/分钟。这就意味着压力机滑块每分钟要完成6到8次完整行程,送料机构必须跟随滑块动作协调进退,码垛机械手要在滑块回程后的间隙准确把成型件取出来。单个设备控制都不难,难点在多设备的时序配合:第3台压力机还在保压时,第2台机械手不能抢先把料放到工位4上;滑块下行途中,送料辊绝对不能继续前进,否则就是模具事故。这些互锁逻辑,是整套电气系统设计的核心约束。
产线各区域的任务可以分解成下面几块:
- 开卷校平区:负责开卷、张力控制、校平,保证进入压力机的料带平整,张力稳定。
- 送料区:按工艺步距把料带送到压力机模腔内,送料精度直接决定产品尺寸一致性。
- 冲压区:5台压力机按工序完成成型、冲孔、切边等加工,每台压力机都有独立的模具和滑块控制。
- 输送与码垛区:成型件从模腔取出后放到输送带,末端机械手抓取码垛。
这个流程看着简单,实际设计时要考虑模式切换、故障复位、安全互锁、紧急停止等一堆控制细节。我最后确定的架构是分布式控制,PLC做主站,各工位用分布式I/O从站和伺服网关,这样既保证了逻辑集中,又让现场接线和后期排查大幅简化。
1.2 集中式还是分布式:我的选择逻辑
刚开始做方案时,甲方提过一版集中式思路,就是配电室放大PLC柜,所有信号线全部拉回来。这个方案的好处是柜子少、逻辑集中,维护人员只看一个柜子就行。但产线总长度超过40米,按集中式做,每个传感器、每个按钮都要单独拉线到柜内,施工成本高,后期查线会让人崩溃。
所以我坚持用分布式控制:主站PLC放在中央电控柜,现场每个工位布置分布式I/O从站,CPU与从站之间走PROFINET总线,伺服驱动器和变频器也通过总线接入。每个工位的传感器和执行器就近接入对应从站,柜内接线量减少三成以上。调试时在触摸屏上看诊断信息,能直接定位到某个从站甚至某个通道,比满柜找线高效得多。
有人担心现场总线不如硬接线可靠,但以现在的工业总线技术,只要布线规范、屏蔽到位,实际故障率远低于几千根电缆带来的接线隐患。更重要的是分布式方案方便后期扩建:以后加一台压力机,只需要挂一个从站,改一下组态和程序,不用重新放一大堆电缆。
1.3 为什么主控选PLC而不是工控机或继电器电路
冲压车间环境其实挺恶劣的,压力机每次冲压瞬间电流冲击很大,油雾、粉尘、振动一个不少。如果主控用普通工控机,硬件层级上扛不住这种环境,一旦死机就是整线停产;用继电器电路做顺序控制呢,逻辑复杂到一定程度后根本没法改,换一种产品就要重新接线。PLC在这个场景里几乎是唯一合理的选择。
PLC的优势是循环扫描机制加上工业级硬件设计,抗干扰能力、环境适应能力都是为车间环境量身定做的。而且冲压线的维护工程师基本都熟悉梯形图和HMI操作,PLC程序出问题他们能快速上手排查,换成上位机程序就没这么好学了。我在这个项目里选用了西门子S7-1500平台,理由很直接:PROFINET总线生态成熟,分布式I/O、伺服、变频器都能挂在一条总线上,触摸屏和上位机连接也方便。这个选型逻辑同样适用于三菱FX5U、欧姆龙NJ、汇川AM等主流品牌,重点是“PLC加总线加分布式I/O”这个架构思路。
2. 硬件方案选型与关键参数计算
2.1 I/O点表怎么统计才不翻车
电气系统设计的第一步,不是急着画图纸,而是把每个工位需要的输入输出信号老老实实清点一遍。我按区域统计了整条线的I/O需求,做成了下表:
| 区域 | 输入DI | 输出DO | 主要信号说明 |
|---|---|---|---|
| 开卷校平区 | 16 | 10 | 开卷机运行、张力检测、校平机速度反馈 |
| 压力机区(5工位) | 90 | 50 | 上下限位、液压站压力、润滑状态、电磁阀控制 |
| 送料与码垛区 | 28 | 22 | 编码器计数、伺服使能、夹爪到位、输送带启停 |
| 公共与安全 | 8 | 4 | 急停复位、安全光栅、三色灯、蜂鸣器 |
| 合计 | 142 | 86 | 不含模拟量与高速计数 |
除了这142点DI和86点DO,还有4路模拟量输入,用来检测液压站油压和油温;2路高速计数输入,给送料长度编码器和码垛位置编码器用。按经验预留15%余量,最终按170点DI、100点DO来选CPU和扩展模块。
CPU选了S7-1500系列的CPU 1511-1 PN,自带PROFINET接口,不需要额外通信模块。现场从站用了ET200SP,每个工位就近布置一个,传感器和执行器接入后,通过总线模块与CPU通信。如果换用三菱FX5U,选型要点也一样:先算点数,再乘1.15的余量,然后看需要几个高速计数通道、几个通信口,最后才能定具体型号。
2.2 主电机启动方式选型:软启动器比星-角降压更省心
5台压力机的主电机,4台是37kW,1台是45kW。主电机启动方式不能拍脑袋决定,要算一下启动电流对电网的影响。37kW电机额定电流大约70A,直接启动时启动电流按6倍算接近420A,这个冲击对车间变压器和同一母线上的变频器都是考验。星-角降压启动可以把启动电流压到直接启动的1/3上下,但切换瞬间有个电流尖峰,而且星-角只能解决“启动降压”,解决不了“停机冲击”。
当时做过一个对比,直接把数据摆出来给甲方看:
| 电机 | 额定电流 | 直接启动电流 | 星-角启动电流 | 软启动限流设定 |
|---|---|---|---|---|
| 37kW | 约70A | 约420A | 约140A | 210A(3倍限流) |
| 45kW | 约85A | 约510A | 约170A | 255A(3倍限流) |
最后选了软启动器加旁路接触器的方案,而且严格做成一拖一,不让一台软启动器带多台电机。原因是每条压力机主电机的负载特性和启动时长有差异,一拖三时如果三台电机同时启动,软启动器容易过载,控制逻辑也复杂。运行参数设为启动限流3倍、启动时间8秒,启动结束后旁路接触器吸合,软启动器退出运行,既不长时间发热,也能满足电网冲击要求。
2.3 送料伺服与输送带变频器的选型计算
送料精度要求±0.3mm,这个精度普通异步电机加变频器做不到,得用伺服电机。送料辊我选的是750W伺服电机,配10:1行星减速机。750W伺服额定扭矩是2.39N·m,经过10倍减速后输出到送料辊的扭矩约23N·m,拉动几十公斤的料卷完全没有问题。编码器分辨率为每转10000脉冲,这个分辨率配合减速比,足够实现0.3mm的送料精度。
实际计算送料长度的格式如下:假设丝杆导程10mm,电机每转10000脉冲,目标送料长度120mm,则目标脉冲数 = 120 ÷ 10 × 10000 = 120000个。这就是把长度换算成PLC高速计数器的目标值。做毕业设计或者小型改造项目时,这个换算关系是最基础也最容易出错的地方,单位和倍率一定要换算清楚,不然定位就是歪的。
输送带和废料输送带属于轻载设备,用3台5.5kW变频器驱动就够了。这里顺便回答一个网上常见的问题:一台PLC控制3台变频器到底怎么接。最干净的做法是走总线通信,PLC侧建好通信块,直接往变频器写目标频率,加减速时间在变频器参数里设置,现场换型时只需要在触摸屏上改数值就行,不需要一段一段硬接线改速度。
2.4 传感器选型与NPN/PNP接口匹配的快速判断法
传感器方案用的是典型的车间配置:到位检测用电感式接近开关,工件有无用对射式光电开关,送料长度用增量式编码器,安全区域用安全光栅。这里有个特别容易坑人的点:NPN和PNP的选型。三菱系很多PLC输入模块是漏型输入,适合接NPN传感器;西门子S7-1500和大部分欧系PLC是源型输入,要配PNP传感器。买到不匹配的传感器,信号死活进不了PLC。
买传感器之前,一定要先确认PLC输入模块类型。我全程用了西门子平台,传感器统一选PNP常开型。这里分享一个现场快速判断NPN还是PNP的方法:用万用表量传感器信号线与M之间的电压,传感器动作时,如果电压从0V跳到24V,是PNP型;如果从24V跳到0V,就是NPN型。输出端也一样,PLC输出模块如果要发脉冲控制伺服,必须要选晶体管型,继电器型只能用于指示灯、接触器等低频负载,这点在选型时必须提前确认。
3. 控制程序设计与关键逻辑实现
3.1 程序架构:把每个工位封装成功能块
程序结构决定了这个项目后期好不好维护。如果把整条线的逻辑全堆在OB1里,几百个线圈互相缠绕,后面想加一个功能都无从下手。我按工位和功能区拆分:每个压力机工位做一个FB,送料区一个FB,码垛区一个FB,公共指令和安全联锁单独放一个FC。主程序OB1按顺序调用,每个FB统一留出启动、停止、故障复位、自动使能这几个标准接口。
这种封装方式在调试阶段优势很明显。调试第3号压力机时,只需要监控对应FB的接口变量和内部状态,不用满屏幕找线圈。换产时也只改FB内部参数,比如送料目标长度、保压时间、节拍设定,主流程完全不用动。程序结构清晰之后,就算是没参与过写程序的人来看,也能根据变量命名快速判断每个逻辑是干什么的。
3.2 自动运行状态机:冲压线程序的灵魂
自动运行最关键的一点是时序约束必须严格:滑块下行前送料必须到位;保压阶段机械手不能进模区;滑块回程之后,下一件料才能送进来。这种严格的顺序控制,用普通线圈自锁电路去做,很容易出现互锁丢失、乱步的问题。我每个工位内部全部用步进状态机实现,步进转移条件是上一工位完成信号加本工位就绪信号。用结构化文本描述大致是这个样子:
CASE step OF 10: (* 等待自动启动 *) IF autoStart AND materialInPlace THEN step := 20; END_IF; 20: (* 送料前进 *) feederForward := TRUE; IF feederAtPos THEN feederForward := FALSE; step := 30; END_IF; 30: (* 冲压下行 *) pressDown := TRUE; IF slideAtBottom THEN step := 40; END_IF; 40: (* 保压 *) IF holdTimer.Q THEN step := 50; END_IF; 50: (* 回程 *) pressUp := TRUE; IF slideAtTop THEN pressUp := FALSE; step := 60; END_IF; 60: (* 取料 *) robotGrab := TRUE; IF partRemoved THEN robotGrab := FALSE; step := 10; END_IF; END_CASE对比传统思路,状态机的优势非常明显:每个步号对应明确的动作,步与步之间的转移条件集中在同一段代码里,修改逻辑时不容易漏掉互锁。而且状态机天然适合做报警定位,当程序停在某个步号不动时,看变量就知道卡在哪个环节,是送料没到位,还是滑块没回程,几秒钟就能确定方向。现在也有人用AI辅助生成状态机代码框架,我试过,效率确实有提升,但联锁、安全、时序这些关键逻辑还是得自己逐行核对,毕竟这类代码直接关系到设备和人员安全。
3.3 安全保护:硬回路为主,PLC只做监控
冲压设备的安全设计优先级永远是第一位的,这一点在电气系统设计里没有任何商量余地。我反复强调一个原则:急停回路全部用常闭触点串联,接入安全继电器,安全继电器输出直接控制主接触器线圈回路,这个回路不经过PLC。就算PLC死机、程序跑飞,急停按钮按下去,主回路照样断电。
安全光栅被遮挡时,同样通过安全继电器或安全输入模块切断危险区域的驱动电源。PLC里的安全程序主要做状态采集和复位管理:双手启动按钮要求在0.5秒内同时按下,这个逻辑放PLC里做;但真正的切断动作,由安全继电器硬回路完成。程序里的报警按级别分成三类:工艺报警比如送料不到位,复位后可以继续;设备故障报警比如电机过载,要排查完原因才能复位;安全报警比如光栅动作,必须人工确认现场安全后手动复位。这个分级处理逻辑,是整套设计里最不能省的部分,也是验收时审查的重点。
3.4 数据采集、掉电保持与人机界面
“附数据”落实到程序上,是产量、故障、停机时长这些生产数据的采集与统计。我在PLC里规划了三个主要数据块:DB100放产量数据,包括当日产量、班次累计、总产量;DB200放报警记录,用可滚动覆盖的循环队列保存最近500条报警;DB300放配方参数,包括送料长度、保压时间、节拍设定。这些数据块全部设置为保持属性,断电不丢失。
触摸屏画面分成主监控、手动操作、参数设置、报警历史四页。主监控页用图形模拟产线流程,每个工位状态用颜色区分,绿色运行、红色故障、灰色待机。上位机通过Modbus TCP或OPC UA读取DB块数据,后续接MES系统也不用改PLC程序。调试阶段我还发现,有些同事用VMware虚拟机跑TIA Portal,网络模式一直选择NAT,结果PLC搜索软件死活找不到设备。解决办法是把虚拟网卡改成桥接模式,让虚拟机直接和PLC处于同一网段,这样才能在线连接和下载程序。
4. 电气图纸设计与现场施工布线要点
4.1 主回路与二次控制回路设计
电气图纸是整套系统的“施工蓝图”,我一般按主回路、控制回路、PLC接线图、柜内布局图四部分来出。主回路从总断路器开始,母线排分流到各支路:压力机主电机支路、伺服驱动支路、变频器支路、控制变压器支路。每台电机支路按“断路器+接触器+热继电器+软启动器/变频器”的标准配置来做,一台电机一组保护,故障时互不影响。
控制回路的重头戏在急停链和双手启动回路。急停按钮常闭触点串联后接入安全继电器,安全继电器输出接总接触器线圈,这个我在前面已经强调过。双手启动回路要保证两个启动按钮必须同时被按下,时间差超过0.5秒就拒绝动作,防止操作工单手操作安全隐患。柜内布局上,PLC、伺服驱动、变频器分别放在不同隔室,控制变压器给PLC开关电源和继电器回路供电,和动力母线保持足够距离。端子排上每个信号都配上唯一线号,接线图、I/O表、柜内布局图三份文件对应同一套编号,后期维护才能做到快速定位。
4.2 现场总线布线与网络调试注意点
PROFINET线缆和动力电缆绝对不能同槽敷设,间距至少保持300mm以上,实在空间受限,中间要加金属隔板隔离。网线水晶头压接质量也要重视,车间振动比较大,水晶头压接不牢靠,设备运转一段时间就会出现接触不良。我调试时遇到过一次从站掉线,查了很久发现就是RJ45头松了,重新压接一次才恢复正常。
还遇到过一个带普遍性的问题—SPEED:用VMware虚拟机调试时,PLC搜索软件找不到设备。这是因为VMware的虚拟网卡默认NAT模式对应一个独立私有网段,和PLC不在同一个网段,自然搜索不到。改成桥接模式之后,虚拟机直接共享物理网卡的IP网络,PLC和TIA Portal才能正常通信。不过桥接模式有个额外条件,Windows防火墙必须放行TIA相关端口,否则软件之间仍然可能不通。
4.3 接地、屏蔽与冲压车间抗干扰
冲压车间最大的电气设计难点就是干扰。压力机冲压瞬间电流很大,主回路会产生强烈的电磁场,如果传感器信号线和动力线走同一个线槽,信号很容易被干扰到错乱。我在这个项目里定的施工标准是:动力线、信号线分开走槽,信号线全部用屏蔽双绞线,屏蔽层单端接地,PLC柜接地电阻小于4Ω。这套要求虽然简单,但很多项目做不到,后期就会冒出各种怪问题。
调试早期出现过一次很典型的干扰案例:触摸屏显示产量偶尔自己会多几个数字。查了很久,最后发现编码器线和伺服动力线有一段被绑在一起,冲压时伺服电机急加减速,动力线上的干扰耦合进编码器信号,导致PLC高速计数器误计数。把两条线分开、编码器线外加屏蔽层之后,误计数彻底消失。这种问题不是程序能解决的,必须在施工阶段就按规范来,否则后面排查成本非常高。
5. 现场调试常见问题与排查实录
5.1 换传感器踩坑:PNP/NPN不匹配导致信号失效
NPN和PNP的问题我在选型部分提过一次,但现场确实高频发生,值得单独拿出来讲。项目运行一段时间后,某个工位的光电传感器坏了,维护人员从库房拿了一个备用件换上,结果信号灯怎么都不亮,确实让人着急。我过去用万用表一量,动作时信号线对M的电压从24V跳到0V,很典型的NPN输出,而PLC输入模块是源型,只能识别PNP的24V高电平信号。处理办法是换回PNP传感器,或者临时加一个中间继电器做转换。
这里给所有现场人员一个操作建议:备件采购清单里一定要标注传感器输出类型,柜门内侧最好贴一张I/O表和传感器型号对照表。我在这条线的电柜里就贴了一张,换件的时候对照确认一下,能省掉大量无谓的排查时间。
5.2 变频器启动瞬间通信掉线
调试第4工位时,出现了固定故障:变频器一启动,PLC总线上那台变频器就掉线,等几秒又能恢复。最开始怀疑通信线缆和终端电阻,全部检查一遍都是好的。后来用示波器看总线电平,发现变频器启动瞬间,总线供电有明显跌落,原因是PLC和变频器共用了同一路电源,变频器启动瞬间电流拉低了电源电压,通信电路欠压工作导致掉线。解决办法是给PLC单独配一路稳压电源,变频器电源侧加输入电抗器和EMC滤波器,通信电缆屏蔽层重新接地。
这类“启动就掉线”的故障,如果只盯着通信线查,永远修不好。一定要从源头分析:是不是电源容量不够?是不是变频器干扰耦合?排查思路要系统,不能头疼医头。
5.3 油污遮挡传感器导致的“假卡料”
产线运行一段时间后,现场总是莫名报警“工件未到位”,操作工说工件明明在位置上,信号就是时有时无。查了程序逻辑,没有跳變问题;看监控画面,发现检测位置的光电传感器表面附了一层油污,发射光被衰减,接收端电平刚好处于临界状态。解决办法有两个方向:一是传感器安装位置加装吹气风管,持续吹扫保证镜面干净;二是在PLC程序里给该信号增加80ms防抖滤波,只认持续稳定的信号。两个措施同时上,这个问题再没复发过。
这种故障最考验经验的地方在于:程序没错、器件没坏,是环境慢慢“侵蚀”了敏感器件。如果调试时不留心传感器安装环境,一个问题能反反复复搞很多天。
5.4 安全光栅频繁误动作的排查
危险区域入口的安全光栅装好后,一天误报十几次,排查效率受到很大影响。询问操作工后,发现误报时间集中在下午,尤其是阳光斜射的时候。安全光栅对红外光敏感,太阳光直射或者电弧焊的光线进入接收范围,就会触发误报警。对策是调整光栅安装角度,避开直射光源,加装遮光板;同时在PLC程序里对光栅信号加了20ms的消抖窗口,只针对状态采集和报警提示做滤波,不影响安全响应时间。安全回路的强制性切断动作,仍然由安全继电器硬回路瞬间完成,不经过PLC。
这里提醒一句:安全光栅的消抖时间不能设得太长,否则会成为安全漏洞。加工件在危险区的响应速度都是毫秒级,消抖延时只要影响到了安全切断响应,满盘皆输。
最后再说一点个人体会,硬件选型再合理,程序结构再清晰,决定项目成败的往往是细节。现场调试顺序我习惯按“先电源、后通信、再逻辑、最后联调”来走:先空载点动接触器核实主回路相序,再逐工位调试手动模式,确认每个传感器都映射到正确的PLC变量,然后做半自动单次循环,最后才切全自动连续运行。每一步都留好数据记录,后面出问题翻记录能省一半时间。如果你正在做类似的PLC项目或者毕业设计,建议先把I/O表和时序逻辑想透,再动手接线和写程序,后期返工的成本会小很多。