接手一台M7120平面磨床的电气改造时,我到现场第一件事不是打开博途写程序,而是先蹲在旧配电柜前把继电器逻辑捋了一遍。这台机床的电气控制系统原理图其实不算复杂,五台电机加一个电磁吸盘,但启动顺序和时间逻辑卡得很死:润滑电动机必须先跑起来,3秒之后主轴才允许启动;停机时反过来,主轴先停,4秒后润滑电机才允许停。这些动作以前全靠中间继电器和时间继电器的硬接线互锁实现,就是俗称的“继电器骆驼队”。这次改造的方向很明确:换成西门子S7-1200 PLC做主控,配合MCGS触摸屏做人机界面,原理图重画,控制柜重新配线,把这套老逻辑完整搬到梯形图里。整篇就把从图纸拆解、IO分配、程序编写到MCGS组态联调的完整过程记录下来,给同样要碰老设备改造的朋友一个参考。
1. 改造前先看懂M7120的原始控制逻辑
1.1 磨床电气系统到底在控制哪些动作
M7120型平面磨床虽然叫“平面磨床”,但它的工作台往复运动其实靠液压驱动,砂轮架则是装在拖板上做垂直进给。所以电气控制部分主要管五件事:液压泵电机提供液压油源、主轴电机驱动砂轮旋转、冷却泵电机浇注切削液、电磁吸盘负责吸住和释放工件,再加上照明和信号指示。
其中最关键的是液压泵和主轴电机的顺序逻辑。液压系统一旦没建立起来,主轴砂轮高速旋转就会处于干摩擦状态,轴瓦和导轨都受不了。原图纸里用时间继电器实现了3秒延时,保证润滑充分建立后再允许主轴启动。停机时反过来,如果液压泵立刻停,主轴虽然已断电但砂轮惯性还在转,这一段停转过程没有润滑保护同样危险,所以要求主轴先停,4秒后再停液压泵。这个“先启后停”的时序,是整台磨床控制逻辑的核心,也直接决定了PLC程序的基本框架。
1.2 为什么选S7-1200加MCGS这个组合
老设备改造选PLC,我是按“够用、好买、好调试、好维护”四个维度来权衡的。M7120的输入输出点不算多,十几个DI加上四五个DO就能搞定,用西门子S7-200 SMART也能做,但考虑到后期要接触摸屏、要扩展模拟量监控主轴电流、甚至做远程监控,S7-1200的以太网接口和博途生态明显更从容。尤其S7-1200的CPU自带PN口,直接走S7协议和MCGS触摸屏以太网通信,不需要外加任何协议转换模块,省了一套硬件。
MCGS这边我选了昆仑通态的TPC7062Ti,7寸屏,价格便宜,供货稳定。很多老师傅对国产屏的印象还停留在“只能做简单显示”,实际上MCGS嵌入版组态软件对S7-1200的支持已经相当成熟,做状态指示、按钮操作、报警记录、配方下载都没问题。相比威纶通,MCGS在国内工控市场的存量很大,后期现场工人和设备商也容易找到人维护。所以这套组合的核心优势就是:通信简单、生态成熟、备件成本低。
1.3 确认改造边界和硬件清单
跟客户谈改造时,必须先确认边界,否则后面会扯皮。我一般会把改造范围写清楚:主电路不动,电机不换,接触器和热继电器能用就保留,重点更换控制电路和操作界面。这样既控制了成本,也降低了现场机械部分的改动风险。
具体硬件清单大致如下:S7-1200 CPU选1214C DC/DC/DC,型号6ES7214-1AG40-0XB0,14路输入10路输出,余量足够;触摸屏MCGS TPC7062Ti;24V开关电源一个,功率100W左右,拖PLC和中间继电器绰绰有余;中间继电器选带底座的那种,线圈DC24V,触点AC220V,数量按输出点配,最好多备两个。如果原接触器线圈是AC220V,PLC的DO点绝对不能直接带,必须经中间继电器转换,这是控制回路改造里最容易被新手忽略的问题。
2. 电气系统原理图:主电路保留,控制回路重新做
2.1 主电路结构怎么检查
老M7120的主电路结构很典型:总断路器出来后分三路,液压泵电机回路走接触器KM1和热继电器FR1,主轴电机回路走接触器KM2和热继电器FR2,冷却泵电机回路走接触器KM3和热继电器FR3。电磁吸盘则是380V经过整流桥输出直流,再由充磁接触器KM4和退磁接触器KM5切换极性。
改造时主电路原则上不动,但必须做一次全面体检。我用万用表和绝缘表逐项检查接触器主触点有没有烧蚀、热继电器整定电流是否和电机铭牌一致、电缆绝缘是否合格。现场就遇到过一台旧设备,主轴热继电器的整定电流被人调到了6.3A,实际电机额定才4.5A,这种隐患如果不查,改造完第一次加工就跳闸。主电路确认没毛病之后,控制回路才值得动。
2.2 控制电路从硬互锁变成软逻辑
原控制回路的原理图里,中间继电器、时间继电器、限位开关、按钮触点全都通过导线串联并联在一起,看得人头大。改造的思路很简单:把这些逻辑关系从“线”转移到“程序”里。按钮和开关只负责给PLC输入信号,PLC输出点控制中间继电器,中间继电器再驱动接触器线圈。
画新原理图时,我习惯分两张图来画:一张是PLC输入回路图,24V电源正极经过急停、按钮、限位开关、热继电器常开常闭触点,接到PLC输入端子;另一张是PLC输出回路图,DO点接中间继电器线圈,中间继电器触点再串到接触器线圈回路里。输入回路图要标清楚每个端子的线号,输出回路图要标清楚公共端的分组情况。一张清晰的新原理图,比任何调试说明都管用。
2.3 安全回路必须独立于PLC
这是我在磨床改造里坚持的一条原则:急停和热继电器的常闭触点,不仅要进PLC作为状态信号,还要直接串联在接触器线圈的供电回路上。也就是说,急停拍下去,不管PLC程序是什么状态,KM1到KM5的线圈电源全部被切断,电机必然停。程序再快,也比不上硬线切断可靠,这叫安全冗余。
具体接线方式:控制电源220V经过急停常闭触点、各热继电器常闭触点串联后,再接所有中间继电器的公共端。这些触点信号同时引一根线到PLC输入,用来记录故障状态和报警。这样做的好处是,紧急情况下不依赖CPU,接触器必然失电;而PLC又能感知到安全回路是否断开,在触摸屏上给出明确的报警信息。
3. IO分配与硬件接线实战
3.1 数字量输入点怎么分配
S7-1200 1214C自带的DI点编号从I0.0到I1.7,共14点。M7120改造实际用10个点左右就够,我习惯按照功能分区来分配,避免程序里地址跳来跳去。下表是我这次改造采用的分配方案:
| 地址 | 信号名称 | 元件类型 | 说明 |
|---|---|---|---|
| I0.0 | 启动按钮 | 常开 | 按下后润滑电机启动 |
| I0.1 | 停止按钮 | 常闭 | 按下后主轴先停,4秒后停润滑 |
| I0.2 | 急停按钮 | 常闭 | 安全回路信号,状态显示用 |
| I0.3 | 液压泵热继电器FR1 | 常开 | 动作后报警并停机 |
| I0.4 | 主轴热继电器FR2 | 常开 | 动作后报警并停主轴 |
| I0.5 | 充磁按钮 | 常开 | 吸盘充磁 |
| I0.6 | 退磁按钮 | 常开 | 吸盘退磁 |
| I0.7 | 冷却泵旋钮 | 常开 | 手动控制冷却泵 |
| I1.0 | 砂轮架上升限位 | 常开 | 升降保护 |
| I1.1 | 砂轮架下降限位 | 常开 | 升降保护 |
| I1.2 | 故障复位按钮 | 常开 | 报警清除 |
特别注意,停止按钮和急停按钮用的是常闭触点。目的很明确:如果信号线断了,PLC收到的是“按下”信号,设备会停机或拒绝启动,而不是“没按”信号继续运行。这是安全回路的基本常识,也是新手上图最容易犯的错误。
3.2 数字量输出点分配与公共端分组
1214C自带10路DO,我用了6路。分配如下:
| 地址 | 信号名称 | 驱动对象 |
|---|---|---|
| Q0.0 | 润滑泵接触器KM1 | 中间继电器KA1 |
| Q0.1 | 主轴接触器KM2 | 中间继电器KA2 |
| Q0.2 | 冷却泵接触器KM3 | 中间继电器KA3 |
| Q0.3 | 吸盘充磁KM4 | 中间继电器KA4 |
| Q0.4 | 吸盘退磁KM5 | 中间继电器KA5 |
| Q0.5 | 运行绿灯 | 24V信号灯 |
| Q0.6 | 故障红灯 | 24V信号灯 |
接线时要特别注意S7-1200继电器输出型的COM端子分组。1214C继电器输出的公共端通常分为好几组,比如输出点0到3共用一组,4到7共用另一组。我在接线时将Q0.0到Q0.4统一接在24V中间继电器负载组,信号灯单独接一组,两组电源互不干扰。如果强行把220V负载和24V负载接到同一个COM组,轻则信号灯烧掉,重则把PLC输出端子打坏。
3.3 接线工艺和电源选型
S7-1200的L+和M接24V开关电源,输入端公共端1M接24V负极,输出端公共端根据分组接相应的电源负极。中间继电器线圈并联了续流二极管,这个细节能有效抑制断电时的反向电动势。现场很多莫名其妙的干扰,就是中间继电器线圈没加吸收电路引起的。
开关电源选型我建议至少留30%余量。整套系统里PLC本体耗电不大,但中间继电器同时吸合时的冲击电流不能忽略,我这次用了24V/150W的明纬电源,实际负载大概80W左右,温度很稳。接线端子全部用菲尼克斯的UK系列,主线和信号线分槽走,动力线和24V控制线保持距离,这些工艺上的要求不能省,直接决定后期调试会不会被干扰折腾到怀疑人生。
4. PLC程序设计:3秒启动、4秒停止的时序逻辑
4.1 控制流程和状态划分
写程序之前,先把控制要求翻译成状态图。我习惯分成四个状态:初始化、待机、运行、停止中。上电后PLC先初始化,把所有输出清零,进入待机;操作工按下启动按钮,进入运行状态,此时润滑泵接触器先吸合;运行状态下系统等待3秒延时,3秒后置位“允许主轴”标志;操作工才能按下主轴启动,主轴运行;停止时进入停止中状态,先复位主轴输出,4秒延时完成后复位润滑泵输出,回到待机。
这个“运行”和“停止中”两个状态之间的切换是典型的顺序控制,用梯形图里的置位复位指令加定时器就能干净利落地实现。我不用S7-GRAPH或者SCL,因为这种简单的顺序控制在LAD里写出来更直观,现场电工维护也更容易看懂。
4.2 核心梯形图逻辑实现
第一段网络是润滑泵自锁启动。启动按钮I0.0的常开触点和润滑泵输出Q0.0的常开触点并联,形成自锁,串联停止条件。停止条件包括:I0.1停止按钮常闭触点、急停I0.2常闭触点、FR1热继电器常开触点、以及一个“允许停止润滑”标志位。当“允许停止润滑”置位时,自锁回路断开。
第二段网络是3秒延时生成“允许主轴”信号。当Q0.0为1时,启动一个TON定时器,设定值3秒。定时器输出置位内部标志M10.0“允许主轴”。这样主轴启动按钮只有在M10.0为1时才有效。
第三段网络是主轴电机控制。主轴启动的条件是:主轴启动按钮按下、M10.0为1、吸盘充磁状态为1、FR2没有动作。主轴输出Q0.1自锁,停止条件包括停止按钮和“系统停止”标志。
第四段是停止时序。按下停止按钮后,先把Q0.1复位,主轴立即停;同时启动第二个TON定时器,设定4秒;4秒到达后将“允许停止润滑”标志置位,下一周期润滑泵自锁回路断开。
这里有一个细节:停止时不能直接置位“允许停止润滑”,因为如果润滑泵还在自锁状态,置位标志只会断开自锁,泵也不会立刻停,必须等4秒延时到了之后再把它置位,配合定时器实现“主轴先停、泵后停”。
4.3 变量表和绝对地址的坑
写梯形图时我全部用符号寻址,在PLC变量表里定义好每个IO和中间变量的名称,梯形图里只显示符号名。这样程序可读性高,后期改地址也不会牵连逻辑。
但有一个坑必须提醒:如果触摸屏要读PLC里的DB块数据,S7-1200默认的“优化块访问”会让人抓狂。MCGS设备驱动在读写优化DB块时经常出现“找不到地址”的问题,解决办法是在博途里将供触摸屏访问的DB块属性改为“非优化访问”,编译后再下载。我这次干脆把所有需要触摸屏读写的参数集中放到一个DB块里,比如DB1,里面放状态字、控制字、启动延时设定值、停止延时设定值,MCGS直接按绝对地址读写DB1,稳定得很。
4.4 联锁和故障处理
程序里不能只有正逻辑,反逻辑和安全联锁才是干活的精髓。充磁和退磁两个输出之间必须有互锁,我不仅在梯形图里用常闭触点互锁,输出回路里中间继电器的触点也做了硬互锁,双保险。因为一旦充磁退磁同时接通,整流桥直接短路,设备就报废了。
吸盘充磁状态还要联锁主轴:M7120磨床正常加工时工件是吸在电磁吸盘上的,如果没有充磁就启动主轴,工件会飞出去,这是重大安全事故。所以我在主轴启动条件里加了“充磁状态”标志位。这个联锁我特意跟现场老师傅确认过,他们说原继电器逻辑里没有这道联锁,因为原设计默认操作员会先充磁。但程序里加上这道保险,一点不影响正常操作,关键时刻能救命。
另外,热继电器动作后,我加了故障锁存逻辑:热继电器动作信号一旦出现,置位故障标志,所有输出释放;操作工排除故障后,按下故障复位按钮才能重新进入待机。这种锁存避免了很多因为触点抖动导致的停机状态。
5. MCGS触摸屏组态与通信设置
5.1 画面规划和操作逻辑
MCGS组态不是画几个按钮就完事,画面布局直接影响现场操作效率。我在TPC7062Ti上做了四个主画面:主监控画面、手动操作画面、报警画面、参数设置画面。
主监控画面模拟了磨床的简单工艺图,用指示灯实时显示润滑泵、主轴、冷却泵、吸盘的工作状态,旁边放启动、停止、充磁、退磁四个大按钮,按钮尺寸我特意做得大,保证操作工戴手套也能准确按到。手动操作画面用于调试和点动,平时需要权限密码才能进入,防止现场误触。报警画面显示当前报警和历史报警,参数设置画面放两个数值输入框,分别对应3秒和4秒延时,操作工可以按工艺需要微调。
5.2 通信配置最容易翻车
MCGS和S7-1200的以太网通信,网上教程很多,但真正动手时翻车率最高的就几个地方。第一,IP地址不在同一网段。PLC设192.168.0.1,触摸屏一定要设192.168.0.2,子网掩码统一255.255.255.0。第二,MCGS设备窗口里添加“西门子S7-1200”驱动后,除了填IP,还要填机架号和槽号,S7-1200默认机架0、槽1,TSAP设置为03.01,很多人只填IP不填槽号,导致通信握手失败。第三是前面说的优化块访问问题,必须用非优化DB或者直接用M区Q区。
MCGS嵌入版7.7组态软件在官网能下载,安装时注意杀毒软件经常误报,加白名单就行。设备窗口里先加“通用TCPIP父设备”,再加S7-1200子设备,IP填触摸屏或者PLC的IP取决于驱动类型,我这里填的是PLC的IP。
5.3 变量关联和批量导入技巧
MCGS实时数据库里的数据对象要跟设备通道关联。手动一个个建确实累,但有个快捷方式:在设备窗口的通道连接页面,可以多行维护通道,直接用Excel把通道列表整理好,对应地址填上,再批量粘贴进去,效率能提升很多。
变量命名规则我建议和PLC符号保持一致。比如PLC里有符号名“润滑泵运行”,MCGS里的数据对象也叫“润滑泵运行”,这样画面上关联变量时不容易张冠李戴。这次调试时出现过一次操作工反馈“按钮没反应”,后来查下来是画面按钮关联的变量写错了一位地址,可现场接线和PLC程序都没问题。变量表管理规范一点,这种低级错误完全可以避免。
5.4 配方、历史数据和FTP功能值不值得上
对磨床改造来说,配方功能值得上。不同工件、不同磨削工艺对主轴转速、进给量、冷却开关逻辑的要求不一样,MCGS配方功能可以把这些参数组合存起来,切换工件时一键下发,PLC那边只需要预留参数变量就行。
历史数据对设备维护也很有价值。磨床的累计运行时间、报警次数、每次停机的故障代码都存在触摸屏里,后期维保人员查起来方便得多。MCGS还支持FTP功能,可以通过网线远程上传下载组态工程或者拷贝报警记录,不用拿着U盘跑现场。这个功能对调试工程师尤其友好,我经常把工程文件用FTP拉回办公室慢慢改。
6. 现场调试实录与常见问题排查
6.1 首次上电的调试顺序
现场调试绝对不能一上来就带负载。我的顺序是这样的:第一步,断开所有接触器主回路,只给PLC和中间继电器送电,用万用表逐个核对输入端子信号,看看启动按钮、停止按钮、限位开关的电平状态和程序里预期是否一致;第二步,在博途变量表里强制输出,测试中间继电器和接触器线圈动作;第三步,恢复主回路,先空载点动润滑泵电机,确认电机转向;第四步,不带工件测试完整时序,按下启动,观察3秒后“允许主轴”是否置位,按下停止,用秒表量4秒延时;第五步,触摸屏联调,确认画面状态和实际状态一致;最后才装砂轮带负载试磨。
这套顺序看着保守,但能省下大量排查时间。我有一次跳过第二步直接带负载,结果主轴接触器线圈接线错误,吸合时弧光闪得柜门都震了一下,幸好没出大事,从那以后老老实实按流程走。
6.2 常见问题速查表
下面这张表是我在这次改造和以往类似项目里积累下来的高频问题,直接照着排查能少走很多弯路:
| 现象 | 可能原因 | 排查方向 |
|---|---|---|
| MCGS触摸屏连不上S7-1200 | IP不在同一网段 | 先Ping一下,再检查机架号槽号TSAP |
| 博途提示“在线检查保护机密PLC组态数据的密码时出错” | PLC启用了访问保护 | 联系原设备商拿合法密码,或改造前备份程序 |
| 主轴3秒后启动不了 | 润滑泵热继电器误动作、充磁联锁未满足 | 看变量表里“允许主轴”和“吸盘状态” |
| 停止后润滑泵不停 | 4秒定时器被急停触点抖动反复复位 | 停止时序里加单脉冲触发逻辑 |
| 触摸屏按钮按了没反应 | 变量地址关联错位 | 核对MCGS通道地址和PLC符号表 |
| 接触器吸合后PLC输出点烧坏 | 负载超过DO点容量或COM组混接 | 检查中间继电器线圈电流和公共端分组 |
| 主机运行几分钟后热继电器跳闸 | 热继电器整定值太小或接触不良 | 核对电机铭牌电流,检查接线端子 |
关于密码保护那条,我必须多说一句。老设备改造经常会碰到原PLC程序设了密码,博途下载时报错。正确做法是合同里写明原程序备份和密码获取的责任方,通过合法途径拿到授权。如果确实拿不到密码,只能做存储卡恢复出厂设置这种兜底操作,但代价是PLC里的程序全部丢失,改造方必须保证已经有完整的新程序可以下载。这事绝对不能侥幸,我见过有人强行清密码后设备人机界面全乱,最后花了几天重新梳理工艺逻辑。
6.3 几个值得说的实战细节
第一,S7-1200的DO输出不能直接驱动AC220V接触器线圈,这个前面提过,但现场还是看到有人图省事直接接,结果第一轮测试就把输出点烧了。中间继电器成本不高,该加必须加。
第二,中间继电器线圈边上并联LED指示灯时要小心。LED的漏电流在某些工况下会造成接触器不释放,表现为输出信号已经断开,接触器还“吧嗒吧嗒”吸合抖动。解决办法是LED选型时选用带电阻的,或者干脆不要并联。
第三,如果在博途里用仿真调试,想和MCGS触摸屏联调,别指望S7-PLCSIM直接能被MCGS访问。PLC仿真器模拟的是虚拟CPU,MCGS的以太网通信驱动目标是真实IP,这两者接不上。真要仿真联调,得用S7-PLCSIM Advanced配合虚拟以太网适配器,配置复杂度高,我一般直接用真实PLC调,反而省时间。
第四,关于“博途PLC与模拟屏不兼容”这类说法,多数时候是通信参数没配对,而不是真的不兼容。西门子PLC和MCGS、威纶通都支持标准S7协议,只要把TSAP、机架号、槽号、IP这些参数按双方文档对齐,基本都能连上。我这里摆一台S7-1200,用MCGS组态,工程跑得一直很稳。
7. 写在最后的几点建议
老设备PLC改造,最难的往往不是新PLC有什么高级功能没用上,而是怎么把原来那些靠硬接线固化下来的操作习惯和安全要求,一字不差地翻译成程序逻辑。3秒启动延时和4秒停止延时这两个参数,我在现场反复跟操作工和维保师傅核对了不下三遍,确认原设备老师傅的操作习惯确实是“先开泵,倒杯水,再开砂轮”,这才敢把延时定死到程序里。
另一个体会是,触摸屏不是越花哨越好。MCGS画面做得再精美,如果现场操作工觉得不好用,项目就是失败的。大按钮、大文字、清晰的指示灯颜色(绿色运行、红色故障、黄色待机),比任何酷炫动画都实用。我做这个项目时故意没用任何3D效果,纯色块加文字,操作工上手半天就会了。
最后分享一个实用小习惯:改造完,把旧配电柜里的原始图纸复印装订成册,跟新控制柜的图纸、IO分配表、PLC变量表、MCGS工程备份放在同一个文件袋里,交给客户存档。设备用个三五年之后,新维保的人看这份资料,会庆幸遇到你这样的改造方。这些活儿不产生多少额外成本,但能让整个项目从“能用”变成“好用”。