首页 / 资讯中心 / 文章详情

西门子S7-1200 PLC包装机控制系统选型、编程与调试全解析

西门子S7-1200 PLC包装机控制系统选型、编程与调试全解析 ★ FEATURED ARTICLE
恰好前阵子帮客户做了一套枕式包装机的电控升级用的正是西门子S7-1200 PLC。原来设备是继电器加老式计数器控制的切刀动作靠机械凸轮袋长一换就得手动调齿轮废品率居高不下客户实在忍不了。接手时客户给的周期很短还要兼容车间已有的变频器我没有犹豫就直接定下了S7-1200的方案——后来证明这个选择省了我大量返工时间。这篇东西就当作一次项目复盘把从选型、硬件配置、博途TIA Portal编程到现场调试的完整链路梳理一遍既有能直接照抄的配置思路也有我踩过之后才想明白的坑。如果你正准备用S7-1200做包装机、灌装机这类偏顺序控制的小型设备或者正在纠结硬件和通讯怎么选这篇应该能帮你避开几条弯路。1. 为什么是S7-1200包装机项目选型背后的取舍逻辑1.1 包装机控制系统的核心需求拆解先别急着聊PLC型号做非标设备有个铁律控制方案永远跟着工艺需求走。包装机的控制需求其实非常典型拆开来看基本就这几块动作顺序控制送膜、制袋、充填、封口、切断、输送每一步都有严格的时序关系切刀和送膜辊的配合精度直接决定袋长是否稳定。速度同步包装膜输送速度和切刀转速必须联动否则切出来的袋长忽长忽短这就需要一个模拟量输出给变频器调速或者用伺服轴做电子凸轮。温度控制纵封、横封的加热辊温度需要PID闭环控制温度波动直接影响封口质量。计数与报警产量统计、缺膜报警、色标追踪、故障停机这些基本功能一个都不能少。人机交互袋长、速度、温度设定、生产数据查看这些都需要触摸屏来完成老设备用拨码开关和数码管的时代早该过去了。对照这几点来看S7-1200刚好踩在合适的档位上它比S7-200 SMART的性能余量更大扩展模块种类也丰富比S7-1500便宜不少对于包装机这种中小型单机设备1500的性能其实是溢出的。最重要的博途TIA Portal这个平台现在已经是西门子的主力工具1200和1500共用一套软件以后项目升级也顺当。1.2 S7-1200与S7-200 SMART、S7-1500的横向对比很多刚入门的朋友会在200 SMART和1200之间犹豫这个心情我太理解了。直观上看200 SMART价格更低指令也简单上手门槛确实更低。但如果你把目光放长远一点就会发现问题对比维度S7-200 SMARTS7-1200S7-1500编程软件Step 7 Micro/WIN SMARTTIA PortalTIA PortalCPU本体IO最多集成60点最多集成32点最多集成64点模拟量处理需要额外模块PID功能较弱CPU自带PID指令支持自整定PID功能强支持多回路通讯能力以太网接口功能有限扩展Modbus要折腾本体PN口支持S7通讯、Modbus TCPRS485/232模块可以跑Modbus RTU通讯功能全面可做分布式IO、Profinet主站运动控制仅支持基本的脉冲输出支持高速计数、PTO/PWM可控制步进/伺服轴支持多轴插补、凸轮、同步适合复杂运动程序加密与保护保护机制简单支持块加密、访问等级防拷贝能力还可以保护机制更强适合做设备厂商的技术保护这个表只有我自己的主观判断不追求全面但你可以看到1200的位置很微妙它的模拟量、PID、通讯能力在同价位段里是最均衡的。包装机这种设备恰好就需要这些能力所以选它不会有错。1.3 选型时最容易忽略的备件和后顾之忧这里分享一个我实际吃过亏的经验选型的时候别只盯着CPU价格要算整机成本。S7-1200的CPU本体自带一路以太网口但很多包装机上需要同时接触摸屏和上位机MES系统。一个PN口够不够用如果不够你是选带两个PN口的CPU 1217FC这种高端型号还是加一个交换机还是用S7-1500的方案我当时为了省事直接选了一台普通的CPU 1214C然后在柜子里加了一个非网管交换机触摸屏、PLC和MES三台设备全接在交换机上实测跑S7协议和Modbus TCP完全没压力。这样既省了CPU的钱又留了余量后来设备加装扫码枪的时候交换机上还有空口不用动柜子。另外一个容易忽略的是存储卡。S7-1200的掉电保持虽然已经做在了CPU里但如果你需要批量生产多台同样配置的设备、想快速烧录程序或者想在工程调试时自动化升级固件版本一张原厂存储卡能省掉大量重复劳动。客户如果有保密协议要求还可以用存储卡开启“知道保护”防止程序被读出来——这个对做设备出厂的技术保护特别有用。2. 硬件架构梳理IO清单、模块选型与电控柜布局2.1 主机架配置与信号模块选择的先后顺序硬件选型不是拍脑袋我习惯先做一张IO清单表把所有传感器、执行器、操作按钮捋一遍再倒推需要哪些模块。比如我接手的那台枕式包装机IO大概是这样的数字量输入DI启动按钮、停止按钮、急停、门开关、缺膜检测、色标传感器、切刀原点、送膜段有无物料检测、气压开关再加上几个备用点加起来12点左右。数字量输出DO送膜电机启停、切刀离合器、纵封辊启停、横封辊启停、排气阀、报警灯三色灯的三路、蜂鸣器合计8点。模拟量输入AI纵封温度、横封温度、色标投用后可能要读的张力传感器共3路。模拟量输出AO送膜变频器速度给定信号1路4-20mA或0-10V。温度控制回路纵封、横封各需要一路PID输出如果加热用的是调功器SSR那AI和AO就都占了。这样算下来CPU 1214C板载的14DI/10DO并不能完全覆盖所以我加了一块SM 1221数字量输入模块16DI用于扩展输入又加了一块SM 1231模拟量输入模块4AI。这里有个细节S7-1200的模拟量输入模块有电压型和电流型之分选型时要注意模块型号后缀SM 1231的电流型一般能同时读4-20mA和0-20mA量程卡跳线或者组态时可以选择。如果传感器是两线制的变送器还要确认传感器的供电方式避免出现模块自带传感器电源不够带不动3个变送器的情况。2.2 传感器与执行器的IO分配实战思路IO分配这事儿看着简单实际上挺讲究。我的经验是输入点尽量按设备工位的位置顺序来分配输出点尽量按动作逻辑顺序来分配。别小看这个习惯到现场接线核对信号时能少爬几趟电控柜。举个例子。包装机送膜段有一个缺膜光电制袋成型器位置有个物料检测切刀位置有个原点接近开关这三者物理上是直线排列的那你分配输入点时就让它们各自占用相邻的输入端子接线的电工师傅不用对着图纸翻来翻去就能把线理清楚。而输出端的送膜变频器启停、切刀离合器、纵封辊启停这些在逻辑上属于“送料链条”也让它们挨在一起将来排查故障的时候只看一组输出点就能判断整个工序的投用状态。再说一个容易埋雷的点安全回路不要进PLC的普通DI。急停、安全门这类信号我建议直接串在接触器控制回路、变频器使能端子以及伺服驱动的急停回路里面纯硬线逻辑不经过程序。虽然S7-1200也可以支持急停信号进CPU做软逻辑停机但工业生产现场讲究的是安全第一硬线直断永远比程序响应快一步。后来设备过CE认证的时候这条设计帮客户省了不少整改成本。2.3 电控柜布局与接线的几个实际经验电控柜布局这块多数刚接触S7-1200的人容易忽略散热和干扰。S7-1200的工作温度虽然标称能到60℃但如果你把它放在变频器或者伺服驱动器正上方长期烘烤之下模块里的电解电容寿命会打折。我之前就遇到过一个客户PLC老是无故重启最后发现变频器散热风道正好对着CPU吹把PLC挪了个位置就再也没出过问题。另外S7-1200的电源端子和信号端子在同一个端子上排接线时建议遵守以下原则传感器24V电源用带隔离的开关电源避免变频器共模干扰窜进PLC。模拟量信号线必须用屏蔽双绞线屏蔽层单端接地接到柜内PE排。高速计数器输入比如色标信号、切刀编码器要用独立屏蔽线并且和动力线分开走线槽间距尽量大。电源线、输出线和信号线在柜内也要分槽走线尽量避免平行长距离靠近。这些经验在调试时可能看不出什么差异但到了批量生产、变频器满载运行的时候就能体会到什么叫“平滑运行和反复死机之间的差别”。3. 博途编程核心顺序控制框架与模拟量处理的实战写法3.1 包装机的顺序控制逻辑用步进框架管理工序状态包装机这类设备本质就是一台“顺序机器”。它的控制程序如果全用梯形图散写出故障时排查起来会很痛苦。所以我在这个项目里从一开始就决定用步进框架来组织主流程。所谓步进框架就是划分工序步骤每一步用一个状态位表示程序扫描时只执行当前步对应的动作条件满足就切换到下一步。具体到S7-1200的博途编程里我习惯用TIA Portal的SCL语言配合数组来做状态寄存器而不是用经典梯形图的置位复位指令满天飞。SCL虽然不像梯形图那么直观但在步骤多的时候代码可读性、修改效率都更高。举个典型片段整个包装流程的大致步骤是待机所有输出复位等待启动。送膜送膜变频器启动切刀离合器松开。制袋封口纵封辊加热横封辊按周期动作。充填物料检测到位打开充填闸门。牵引切断切刀轴按线速度同步旋转切断包装膜。计数复位到达设定袋数暂停送膜等待清理。在SCL里写一个状态切换段逻辑很像硬件电路里的“顺序启动-顺序停止”的继电器电路但维护起来要轻松得多。这个方案的另外一个好处是后续如果客户要增加一台打码机只需要在原有步骤序列里插入一步“打码”完全不会影响前后状态程序的大改动周期大幅缩短。3.2 模拟量滤波与温度PID封口质量的关键封口温度控制不稳定是包装机最常见的投诉点。温度过高薄膜烫穿温度过低封口强度不够一拉就开。S7-1200自带PID Compact指令可以连续调节也支持自整定比起200 SMART时代的PID算法体验强太多。温度控制的难点不在PID块本身而在温度采集环节。加热辊用的热电偶信号非常微弱现场变频器一启动测温值就容易跳。我在程序里加了两个处理一是滤波PID的PV值不要直接取原始AD值而是做移动平均或者低通滤波。二是断线检测热电偶断了之后AD值会飞到量程上限如果程序没判断PID认为温度不够会全功率加热加热辊糊掉。所以我在模拟量处理里加了量程越限判断一旦超出合理范围立即报警并断开加热输出。PID参数的整定我习惯先手动调P和IP初值设置小一点观察曲线再逐步加上去。实际跑下来纵封辊温度用P8I20sD0就能控制在±2℃以内完全满足工艺要求。自动整定当然也可以但在有些频繁启停的设备上自动整定效果并不理想手动调参反而更可靠。3.3 为什么我推荐用SCL写配方和报警而不是梯形图很多接触S7-1200的人一开始只会梯形图LAD看到SCL就头大。我的经验是逻辑简单的控制用LAD没问题但配方管理和报警信息处理用SCL会清爽得多。配方是什么比如同一台包装机要生产三种规格的袋子规格A袋长90mm纵封温度150℃横封温度160℃送膜速度30Hz规格B袋长120mm纵封温度155℃横封温度165℃送膜速度28Hz规格C袋长150mm纵封温度145℃横封温度155℃送膜速度25Hz这套数据如果用梯形图实现你要做一大堆的比较指令、传送指令而且换规格时要改的触点特别多非常容易出错。用SCL就简单多了先在DB块里建一个二维数组第一维是配方号第二维是参数然后写一个循环移动数据块内容的SCL循环操作触摸屏上的配方选择画面选好之后点一下“加载”程序自动把数组对应的一行数据搬进工作参数区。整个块代码可能只有二三十行一眼能看懂。报警处理同理。梯形图的报警逻辑往往散落在各个程序段里不好维护。我用SCL写报警集中管理块把所有报警条件汇总到一个Function里触发后统一置位报警字同时往HMI侧传送时间和代码。这样调试时只要打开一个DB块所有报警状态一目了然排查人工干预的故障点速度会快很多。4. 驱动层联调Modbus通讯与伺服轴调试实录4.1 用S7-1200 G2的Modbus_Comm_Load跑变频器通讯包装机的送膜电机用变频器控制很常见。客户车间里已有的电机是森兰SB200系列的高性能通用变频器长时间不用换新这是个纯国产变频器性价比高但通讯文档写得不算细。我们用的通讯方式是Modbus RTU over RS485S7-1200侧需要在左侧扩展一个CM 1241 RS485模块或者用支持RS485的通讯板。程序里用Modbus_Comm_Load指令初始化端口再用Modbus_Master指令读写变频器的保持寄存器。S7-1200 G2系列的固件4.0以上的版本里Modbus_Comm_Load指令有两个需要注意的点端口初始化时波特率、校验位、停止位必须和变频器侧完全一致。森兰SB200默认是9600,8,None,1但接线后如果你不能确定是否被改过最好的办法是先用串口调试助手直接读一遍变频器的参数省得来回试。Modbus_Comm_Load要求背景DB必须是“仅存储”类型老版本固件用标准DB会一直报错。很多新人在这一步卡住盯着指令报错看半天实际上就是DB的存储器类型选错了在DB属性里改成“仅存储在装载内存中”保存并编译后再下载就好了。跑通通讯之后的读写逻辑很简单启动命令和频率给定写到变频器的通讯控制字和频率设定地址状态字和运行频率从变频器读回来。这里有个工程细节运行频率反馈的Modbus地址和量程比例必须以变频器手册为准有的变频器返回的数据是0-10000对应0-50Hz有的则是0-1000对应0-50Hz不确认就直接用显示速度必然对不上。4.2 伺服轴组态切刀和送膜的同步方式选择再讲切刀。老包装机用机械凸轮灵活度很差。现在越来越多的包装机直接用伺服电机驱动切刀用电子凸轮实现切刀和送膜速度的同步。S7-1200的运动控制功能虽然比不上S7-1500的工艺对象那么豪华但对付单轴定长切断绰绰有余。项目里我用了CPU 1214C配合伺服驱动器走脉冲加方向的硬接线方式。博途里组态一个运动轴工艺对象设置好机械传动比一圈对应膜前进多少毫米、脉冲当量每转脉冲数、加减速时间就可以用MC_MoveAbsolute或者MC_MoveRelative指令控制轴运行了。这里要特别提醒S7-1200的轴组态中“位置单位”和“速度单位”的定义直接决定运行效果。我习惯把位置单位设成mm速度单位设成mm/s然后通过机械参数的换算关系反推电机转速这样程序里的目标值就是操作员理解的“袋长”数值直观可查错误率大大降低。现场调伺服的流程也很关键我建议的顺序是先脱开机械负载单独点动电机确认正反向与程序设定一致。低速跑一段观察编码器反馈位置和实际位移是否一致调整方向、每转脉冲数等参数。在“点动”和“回参考点”都正常之后再接入机械负载。最后才做实际生产速度下的连续运行测试观察切刀原点开关的重复精度。4.3 博图调试伺服电机的常用技巧如果在博途里调试伺服电机有几个操作习惯很管用。首推的是启用工艺对象的轨迹记录在TIA Portal的调试面板里打开Trace功能可以记录轴的速度、位置、跟随误差曲线。切刀有抖动或者丢步的情况通过Trace一眼就能找到问题发生在加速段还是减速段。其次是强制输出和修改在线值功能在轴跑飞或者堵转的时候先用“启用/禁用”功能把轴禁用再在手动模式下点动排查避免反复拆装驱动器的痛苦。这里想到了一个很有意思的热搜词“西门子博图调试伺服电机”确实博途调试伺服如果只知道使用MC_MoveAbsoute的指令遇到实际工艺问题就会很被动。Trace功能才是你真正需要掌握的工具可以帮你定位很多看似随机出现的故障。5. 上位监控打通触摸屏组态与SCADA数据流的常见做法5.1 触摸屏选型与画面规划包装机现场基本都配触摸屏。客户用的屏幕是MCGS昆仑通态的TPC系列和西门子的PLC通过以太网通讯。其实MCGS的触摸屏和S7-1200通讯有几种常见方式直连模式触摸屏和PLC直接网线对接设置好PLC的IP触摸屏侧选择S7-1200驱动无需额外配置。跨网段模式如果触摸屏和PLC不在同一网段需要在触摸屏侧设置网关或者采用端口映射的通讯方式。客户现场曾经碰到过MCGS触摸屏跟西门子1500跨网段通讯连不上的问题排查下来发现是子网掩码和网关地址没有配对把触摸屏的IP地址改成和PLC同一网段问题就消失了。画面上我通常会设计这几个页面主监控画面、配方画面、报警画面、生产统计画面、手动操作画面。主监控画面要在一屏之内显示出所有关键运行参数——当前袋长、累计产量、温度、速度、状态指示灯这样操作工才能快速判断设备状态。配方画面配合SCL配方块利用触摸屏的列表功能选择配方并下载。5.2 和SCADA/上位机怎么连S7协议、Modbus TCP和OPC UA这两年很多工厂都在上MES系统包装机的数据要往上层送。S7-1200对外提供三种比较常用的数据通道S7协议西门子原生MCGS触摸屏、WinCC、Kepware等都能直接使用S7协议读写1200的DB块。但S7协议的非西门子侧实现偶尔会有兼容性问题例如Kepware连接S7-1200时如果DB块的“优化的块访问”属性开启外部软件可能读不到内部地址。解决办法是在DB块属性里取消勾选“优化的块访问”或者直接访问符号名这一点需要在DPR里处理好。Modbus TCPS7-1200可以通过Modbus_Comm_Load指令把本体PN口作为Modbus TCP从站或主站。从站模式、外部SCADA作为Modbus主站来读写保持寄存器这种方式兼容性极好几乎任何上位机都能接。OPC UAS7-1200 G2以上的固件原生支持OPC UA Server可以不用写一行代码直接在博途里启用OPC UA功能把需要开放的DB块地址拖进去即可。SCADA通过OPC UA连接PLC已经成为目前最流行的方式跨品牌、跨网段都方便。我的建议是单一触摸屏场景优先直连S7协议要接MES的话把OPC UA作为首选因为最大的好处是SCADA侧不用关心PLC内部数据怎么排列只需要浏览节点、订阅数值即可。5.3 S7-PLCSIM Advanced实例无法启动的问题与排查思路如果项目还在调试阶段手头没有硬件很多人习惯用S7-PLCSIM Advanced来做模拟仿真。它比基础版PLCSIM强很多可以模拟真实的以太网通讯SCADA可以直接连上仿真PLC调试画面。不过有朋友反映V5.0的PLCSIM Advanced实例启动不了而且没报错。我自己遇到过原因是电脑的虚拟网卡适配器没有启用或者仿真实例选的通讯接口不对。排查思路是打开Windows设备管理器确认有Microsoft Loopback Adapter或者PLCSIM创建的虚拟网卡。进入TIA Portal的仿真设置确认“目标接口”选择的是虚拟网卡对应的接口。在PLCSIM Advanced主界面里重新创建实例时选择正确的接口名称再启动一般就能通过。如果你确实没有安装PLCSIM Advanced也可以用基础版PLCSIM配合WinCC做通讯仿真但没法模拟外部SCADA走以太网访问功能上会受限。6. 现场调试实录那些最容易让人卡壳的坑与排查思路6.1 从“切刀位置漂移”开始的完整排查链路项目进现场的第三天客户反馈切刀切出来的袋子不是前一包长后一包短就是突然袋子全变成废袋。这组问题属于典型的“硬件-程序-工艺”三合一故障排查起来特别能锻炼思路。我当时的排查链路是这样走的先看程序是否按顺序执行打开TIA Portal监控把状态位和切刀轴位置在线盯着。确认每一步切换都没问题程序跳转正常。拆分机械因素空转伺服轴观察回原点的重复精度。发现偶发情况下原点会偏移接近开关右侧一段距离说明机械反馈信号被干扰了。查干扰源用示波器夹在原点接近开关信号线上观察波形发现有毛刺而毛刺出现的时间点和横封气缸动作的电磁阀吸合时间高度重合。破案了——电磁阀线圈没有接续流二极管关断瞬间反电动势通过24V电源线窜入接近开关信号回路导致最后一段脉冲丢步或者误触发。修复在继电器的线圈两端并联续流二极管注意极性并把接近开关的信号线远离动力线重新布线。验证连续空跑2小时、加工2000个袋子切刀原点误差不超过一个脉冲问题彻底消失。这个案例印象很深因为“电气干扰导致机械精度问题”在包装机现场非常典型。很多人一看到精度不对就怀疑伺服或者机械件其实很多时候背后的元凶是信号干扰。6.2 通讯不稳定问题的排查套路包装机现场第二个高频问题就是通讯不稳定明明已经连上了跑一会儿触摸屏就提示通讯超时或者MES系统数据丢包。这类问题我有个固定的排查套路线缆和接头确认用的是屏蔽双绞线接头压接牢固屏蔽层接地可靠。以太网线是通过水晶头压接的如果压接钳不好使或者线径太粗特别容易间接性断线。IP地址规划确认PLC、触摸屏、交换机、上位机都分配了固定IP且没有网段内的IP冲突。现场曾遇到过IT部给MES服务器设置了自动获取IP然后和触摸屏的固定IP撞了导致触摸屏一会儿断开一会儿连上。通讯负载S7-1200的PN口虽然可以同时承接好几路通讯但如果HMI画面刷新率设置太高、MES轮询频率过快CPU的通讯负载会飙升进而影响程序扫描周期。我的建议是HMI画面数据刷新周期设置为500ms到1sMES的轮询周期不要小于1s这样才能在性能和实时性之间取得平衡。6.3 从常见热搜问题看S7-1200的知识点盲区写这段的时候我特意翻了几个热度很高的S7-1200相关搜索有不少问题其实都属于使用习惯导致的盲区。“S7-1200 G2 Modbus_Comm_Load报错”前面提过的“仅存储DB”选择、以及模块版本号对应指令版本都是高频报错原因。“西门子PLC的EN/ENO是什么”EN/ENO其实是使能输入/使能输出梯形图中从左到右连线本质上表示“该块是否被调用且执行没有错误”。很多人以为它只影响程序流其实在很多指令中它还影响ENO之后连接的指令块是否继续执行。调试顺序控制逻辑时如果某个块的ENO断开了重点看它内部是否发生了错误。“S7-1200程序下载不进去”最常见的原因是CPU处于运行模式且未勾选“覆盖模块描述”或者密码保护导致下载被拒绝。新手上路建议直接在CPU属性里设置允许所有远程访问调试期省心。“S7-1200和变频器通讯不上但串口助手能通”大多数情况是PLC侧的数据位/停止位/校验位与变频器不一致或者RS485的A/B线接反。注意很多国产变频器说明书里A/B的定义和西门子的接线定义并不一样用万用表确认后再接。7. 项目结束后的几点感想做包装机控制真正的功力在系统配合项目结尾的时候客户那边安排了一次批量试生产连续跑了一个礼拜没有一次误停。我在现场守着调试的那几天最大的体会是做S7-1200包装机控制系统真正的难点从来不是某一个具体指令或者某个模块怎么接而是把机械、电气、程序、人机交互这几块捏合成一个整体。写这篇回顾的时候我回想起自己在博途里熬过的无数个深夜在客户现场追着干扰源跑的狼狈样子也回想起来那些因为一个IO分配得好就少走很多弯路的时刻。现在把这套流程完整写出来既是给自己做个阶段性总结也希望能给正在做类似项目的朋友提供一个参考。如果你想聊聊S7-1200的具体某个功能细节或者正在为一个棘手问题发愁我很乐意听你讲讲你的项目毕竟这些坑我大概率也爬出来过。
阅读完成 · 觉得有帮助?
咨询建站