西门子Smart200与Smart700定长/跟随切割方案设计与排障实战
做切割控制这些年我经常遇到有人把定长切割和跟随切割混为一谈觉得无非就是“走一段、切一刀”的事。真到现场调机的时候问题全冒出来了——切出来的尺寸忽长忽短、飞剪追不上材料速度、编码器信号干扰导致计数乱跳。这套系统表面看是个PLC加触摸屏的标准组合但里面涉及高速计数、中断响应、运动同步、通信稳定性这些硬骨头任何一个环节处理不好整条线都跑不顺。这篇内容适合正在做或准备做定长/跟随切割项目的人尤其是用西门子Smart200配合Smart700触摸屏这套方案的。我会从方案选型、硬件接线、程序逻辑到现场排障把核心的东西一次讲透。提到的处理思路和代码框架很多都是我在实际项目里验证过的可以直接抄作业。1. 项目整体设计与思路拆解1.1 定长切割与跟随切割两种模式的本质区别很多人刚开始接触切割控制时最容易被这两个词绕晕。我习惯用一个生活化的类比来解释定长切割就像你用手撕保鲜膜拉出一段、撕一段材料是走走停停的而跟随切割就像理发师拿着推子跟着你走边走边推材料和刀具是同步运动的。定长切割的核心诉求是“到位就切”。材料通过输送辊向前走编码器跟着材料转PLC实时累加长度当累加值到达设定长度时触发切刀动作。这种模式适合材料刚度较好、可以短暂停机的场景比如管材、型材、板材的定尺切断切割精度主要取决于编码器计数和到位响应的及时性。跟随切割则完全不同它的核心是“运动中同步”。材料全程不停顿切刀机构必须加速到与材料相同的速度在同步窗口内完成切割然后返回原点等待下一轮。这种模式常见于印刷品横切、包装膜切断、钢管飞剪这类连续生产场景。跟随切割对PLC的运算速度、中断响应和运动控制能力要求高得多因为同步窗口通常只有几十到几百毫秒错过这个窗口切出来的就是废品。1.2 为什么选Smart200加Smart700这套组合这套系统在定位上非常清晰它就是给中小型单机设备或小型产线用的。S7-200 Smart CPU集成以太网口支持高速计数器和高速脉冲输出本体自带数字量输入输出再加上Smart700触摸屏做参数设定和状态监控一套下来成本可控功能覆盖也够用。选型时有个关键点必须注意如果切割机构需要用脉冲控制伺服或步进电机一定要选ST系列晶体管输出型CPU比如ST40或ST60。SR系列是继电器输出带不动高速脉冲只能用在普通气缸或接触器控制的场合。我见过有人拿了SR40去做飞剪的伺服控制结果高速脉冲输出压根没有项目直接卡住这就是选型时没把账算清楚。Smart700在这里的角色是“操作面板”。它和Smart200同属一个产品代系通过以太网直连非常稳定组态软件用WinCC flexible Smart版上手门槛不高。现场操作工不需要懂PLC只要在触摸屏上输入目标长度、修改切刀速度、查看当前产量就行参数和状态一目了然。1.3 系统架构与信号流向整体架构可以拆成三个部分检测层、控制层和执行层。检测层包括增量式编码器装在输送辊的轴端材料走多少编码器就转多少。编码器的脉冲信号直接进PLC的高速计数器输入点这是整个系统精度最关键的入口。控制层就是Smart200本体内部跑定长或跟随切割的核心程序。执行层是切刀机构包括气缸、电磁阀、伺服电机或变频器驱动的切割电机。信号流向上编码器脉冲进入高速计数器计数器当前值与设定值比较触发中断后PLC输出切割信号。如果是跟随切割PLC还需要根据编码器反馈计算同步速度通过高速脉冲或模拟量输出给切割机构的驱动装置。Smart700触摸屏通过以太网读取PLC里的长度、速度、产量等变量同时修改设定参数。这个链路看起来简单但每一环都有讲究下面我会逐步拆开讲。2. 硬件接线与关键参数设置2.1 编码器接入与高速计数器配置编码器是切割系统精度的大门。增量式编码器的输出有差分、推挽、集电极开路等类型现场最常用的是NPN和PNP集电极开路输出。接线的时候一定要先确认PLC输入规格和传感器输出类型是否匹配否则会烧点或者收不到信号。S7-200 Smart的输入端子比较灵活公共端1M或2M接电源正极时输入端为漏型接法适合NPN型传感器公共端接电源负极时为源型接法适合PNP型传感器。很多新手在这里搞反线接好了程序也写了但PLC就是收不到计数十有八九是公共端接错。编码器接到高速计数输入时A相和B相要分别接在同一个高速计数器的两个通道上。比如用HSC0A相接I0.0B相接I0.1。这样PLC才能通过相位差判断正反转。如果只接单相脉冲切刀返回和材料前进的方向就区分不出来计数逻辑会乱套。高数计数器模式选择上我习惯用A/B相正交计数模式4倍频单位时间内能分辨的脉冲数是编码器本身线数的4倍精度更高。模式号具体是多少不同CPU固件版本有差异编程时以软件里的选项为准。外围接线上编码器屏蔽层必须单端可靠接地屏蔽层不接地或者两端都接地都会引入干扰造成计数抖动这是血泪教训。2.2 NPN信号接入与公共端处理的细节热搜词里有个很具体的场景“输出脉冲接入西门子plc的npnplc公共端接的电源正接法”。这句话翻译过来就是传感器是NPN输出PLC公共端接24V电源正极。这种接法下传感器输出低电平有效也就是传感器导通时输出端被拉低到0VPLC内部光耦导通输入点有信号。这里有个容易踩的坑NPN传感器输出低电平时输入点对公共端来说是“通”还是“断”。好多现场电工凭直觉觉得信号线有电压才算有信号结果NPN输出的是低电平他用万用表量不到24V就认为没信号。实际上PLC输入电路是电流型的只要回路形成电流光耦就动作。公共端接正、传感器输出拉低电流从公共端流过光耦到传感器输出端这个回路是通的输入就会ON。接线顺序也要标准化24V正极先到传感器电源端传感器输出线到PLC输入点传感器0V和PLC公共端共地。别把电源负和公共端搞混电源负是给传感器供电用的公共端是给PLC输入回路用的虽然最后都到0V但路径不能错。现场有时候为了省事直接把传感器0V接PLC公共端电源负也接同一排端子一般能工作但一旦有干扰排查起来就糊涂了。2.3 Smart700触摸屏的通信连接Smart700和Smart200通信首选以太网直连或通过交换机都行。通信设置的要点就三个IP地址在同一网段、子网掩码一致、通信协议选对。我给每个项目都定了固定IP分配规则PLC占用192.168.0.1触摸屏占用192.168.0.2上位机或调试电脑占用192.168.0.3。这样规范的好处是以后现场维护的人一看IP就知道设备角色不用到处问。触摸屏里设置IP的方式是在组态软件中配置下载工程时一并写入。在组态软件中建连接时协议选择S7-200以太网或直接选Smart200型号通信参数里填PLC的IP地址。下载工程后不要急着运行先在触摸屏的系统设置里检查一下通信状态确认连接正常再进入运行画面。有些现场网络环境复杂有多个设备抢IP或者交换机端口被占用排查起来就要先从物理连接看起。3. 程序实现与核心逻辑3.1 定长切割程序的设计要点定长切割程序看起来简单但要切得准细节一个都不能少。我用状态机思路来写分四个状态待机、输送、到位、切断复位。待机状态是初始状态切刀在起始位置等待启动信号。启动后进入输送状态高速计数器清零输送电机运行编码器脉冲开始累加。此时PLC不断比较计数器当前值与目标长度对应的脉冲数。到位条件是“当前值大于等于目标值”一旦满足就进入切断状态。切断状态触发时先停止输送输出切割信号给切刀。切割完成后进入复位状态计数器清零切刀复位状态回到待机准备下一轮。这个逻辑用梯形图写不复杂关键是到位检测的响应速度。如果用普通扫描周期里的比较指令从“到位”到“输出切断”这段延迟受扫描周期影响可能造成几毫米的误差累积。要快就得用中断。Smart200的高速计数器支持“当前值等于预设值”中断也就是说计数到设定值的那一瞬间CPU直接挂起当前任务进入中断程序在中断里置位切断输出响应时间从毫秒级压缩到微秒级。这个区别在低速切割时看不出来到了每分钟切几十次的场合就是合格品和废品的差别。中断程序里尽量放精简指令只做置位和复位操作别在里面做大量运算否则中断耗时太长会影响后续处理。3.2 跟随切割的同步与追剪逻辑跟随切割是另一个维度的问题它的核心是“在运动过程中追上材料并保持同步”。很多初学者以为只要切刀速度够快就行实际远没那么简单。我常用的实现思路是分四个阶段加速追剪、同步切割、减速返回、原点等待。加速追剪阶段切刀从起始位置开始加速目标是追上材料速度。此时PLC需要实时读取编码器反馈的材料速度计算切刀速度指令。同步切割阶段当切刀速度与材料速度一致时进入同步窗口在这个窗口内触发切割动作切刀和材料保持同步速度一起移动。减速返回阶段切割完成后切刀减速并反向返回起始点。原点等待阶段在起始点等待下一个循环的开始信号。有人问同步切割为什么能切得准关键在于“同步窗口”的概念。切刀在同步阶段是跟着材料走的相对速度为零材料在切刀下没有相对滑动切口自然齐整。如果同步没建立好就切要么切刀被材料带着跑导致切偏要么切刀和材料相对速度过大导致刀具磨损加剧。具体实现上如果切割机构是伺服电机驱动的程序里可以用位置同步的方式材料编码器每发一个脉冲PLC就计算伺服当前位置应有的增量通过高速脉冲输出给伺服驱动器。这样切刀位置和材料位置始终成比例关系比例因子就是同步比。这个方式实现难度适中精度也够是中小型设备的主流方案。3.3 HSC中断与高速输出在切割场景中的配合用过Smart200做切割的人都清楚HSC高速计数器只是把脉冲数读进来真正要命的是中断的配合。切割场景中主要用两类中断一个是前面说的HSC当前值等于预设值中断在定长切割里作为一级触发信号另一个是定时中断或沿中断用于跟随切割中周期性地计算位置和速度。在定长切割里HSC等于预设值中断触发后紧接着要做的是“锁存”当前计数值。为什么要锁存因为中断响应虽然快但从触发到程序真正执行还是有几微秒到几十微秒的延迟在这个窗口内编码器可能又走了几个脉冲。如果不锁存直接清零那这几微秒里走过的长度就被吞掉了下一次切割就多出累计误差。锁存的实现方法是用立即读取指令或者先把当前值存到中间变量再做清零处理。高速脉冲输出方面Smart200的ST系列支持PTO脉冲串输出和PWM脉宽调制。在切割机构用步进或伺服的场景里我用PTO输出控制伺服驱动器频率决定速度脉冲个数决定位置。PTO输出和HSC配合可以实现闭环控制HSC读材料位置PTO控制切刀位置两者在程序里做比较形成位置跟随。这里要提醒一句高速脉冲输出是晶体管输出口的专用功能不是随便找个输出点就能用的。Smart200里高速脉冲输出一般对应Q0.0或Q0.1选型时必须确认CPU支持并预留好这两个点。很多电气设计人员在分配点位时把Q0.0用了普通输出结果到现场才发现伺服动不了改图纸、改接线最浪费时间。4. 触摸屏组态与交互设计4.1 变量表与通信变量的规划触摸屏组态第一步是规划变量表。Smart700通过通信读取PLC的V区、M区、Q区等在组态软件里定义变量时必须精确对应PLC里的地址。我的习惯是专门划分一个V区段用于触摸屏交互比如VB1000到VW1200这个范围把所有给触摸屏用的参数都放这里。这样做的好处是隔离清晰。PLC内部计算用到的中间变量放在VW0到VW999之间设备参数和运行数据放在VW1000以上触摸屏组态时只面向这个区域不会误读程序内部的临时变量调试的时候也容易账实对应。变量类型也要特别注意。PLC里一个VW是16位有符号整数最大32767。如果切割长度对应的计数值很大比如每米几千个脉冲VW就存不下了要用VD双字也就是32位。组态触摸屏变量时数据类型必须和PLC一致否则显示出来就是乱码或负数。我遇到过有人PLC端用的是VD触摸屏端却定义成了VW结果数值一超32767就跳变查了半天才找到原因。产量统计和长度累计这类数据建议直接定义成32位浮点数或双整数。浮点数在触摸屏上显示带小数方便操作工读数。不过PLC程序里做浮点运算要占用更多扫描时间切割这种对实时性要求高的场景能不浮点就不浮点尽量用整数运算需要显示小数的时候在触摸屏端处理。比如PLC里定义的单位是毫米乘以10的倍数触摸屏上显示时除以10这样既保留精度又不拖累PLC运算。4.2 切割参数的人机交互设计Smart700的画面设计核心原则是“操作工能看懂误操作不容易发生”。主画面我用三个区域来划分参数设定区、运行状态区、报警信息区。参数设定区放目标长度、切刀速度、提前量、自动手动切换这些最常用的参数。每个参数在组态时设置上下限防止操作工误输入离谱值。比如长度设定范围按设备机械行程来定上限是设备能切的最大尺寸下限是最小尺寸超范围直接提示拒绝写入。运行状态区显示当前计数值、已切数量、当前运行模式、切刀状态。计数值要实时刷新刷新周期设短一些保证操作工能看到实时变化。已切数量是PLC里累计的断电后要能保持否则白天干了多少活到第二天全清零操作工会骂人的。报警信息区是必须有的。切割系统常见的报警包括编码器断线计数长时间不变化但输送在运行、切刀不到位切完没有复位信号、长度偏差超限切割长度和目标长度差太多。每个报警要在PLC程序里做判断逻辑置位对应的M点触摸屏上关联这个M点显示中文报警文本。报警文本写清楚故障现象和处理建议省得电工每次都要翻图纸。除了主画面我还会专门做一个“参数整定”页面给调试人员和维修人员用。这个页面里放编码器每米脉冲数、同步比、加减速时间、中断使能开关这些底层参数。普通操作工界面不显示这些防止不懂的人乱改。实现方法很简单画面上加一个“工程师登录”按钮点击后弹输入框密码正确才切换到整定页面。密码在组态软件里设置现场人员不知道就不会动。4.3 触摸屏与PLC的时钟同步问题现场经常出现一个现象触摸屏上显示的时间不对记录报警信息的时间戳也是乱的。这里有个关键点Smart700自带时钟但PLC也有系统时钟两者是独立的。如果组态时触摸屏用本地时间显示而报警记录用的又是PLC时间两边不一致时间戳就会乱。我建议在系统的初始化逻辑里做一次时钟同步PLC作为时间源触摸屏启动时从PLC读取时间。具体操作上在组态软件里将触摸屏的时钟源设置为PLC或者写个小逻辑在PLC上电时把系统时间写入V区触摸屏显示变量时从V区读。这个方法在Smart200和Smart700组合里很稳定比单独的触摸屏本地时钟可靠得多。另外注意一下PLC本体的时间需要在软件里设定或通过编程线上载Smart200没有电池断电后时间不会自动保持。如果现场对时间精度要求高可以加一个时钟同步的保持逻辑或者定期用电脑校准。大多数切割项目对时间的精度要求没那么高只要每天的累计产量和报警记录时间顺序不乱就行。5. 常见问题与排查技巧实录5.1 PLC与触摸屏通信时断时续在现场遇到过几次“通信时好时坏”的问题最典型的就是“TCP只有每次重启的时候才能连上一分钟”这种情况。这个问题在Smart200上用第三方上位机或触摸屏通信时偶发背后原因基本集中在三个方面IP冲突、连接数占用、通信指令反复建立连接。IP冲突是排查的第一步。给PLC和触摸屏分配静态IP时要确保网段内没有其他设备占用这两个地址。用电脑Ping一下这两个IP如果Ping不通或时延不稳定先把交换机上其他设备拔掉再试。一个简单的做法是把PLC、触摸屏、调试电脑单独放到一个没有外网的小交换机上和生产办公网络物理隔离既安全又省心。连接数占用的问题比较隐蔽。Smart200作为TCP服务器时最多同时支持有限个连接不同固件和型号有差异。如果上位机软件或触摸屏不停地断开重连占用的连接没有及时释放就会导致后来的连接连不上必须重启PLC才恢复。排查办法是关掉不需要的通信对象比如调试完的电脑断开连接避免多个上位机同时轮询。通信指令反复建立连接这个情况多见于用户在自己的程序里用了TCP通信指令定时去连接远程服务器。写TCP客户端程序时连接建立后要判断是否已经连接别每个扫描周期都去触发一次连接。正常逻辑是启动时建立连接运行中检测断开后重连。我见过有人在OB1里每个扫描周期都调用连接指令结果就是连接建了拆、拆了建其他通信全被挤掉。5.2 编码器计数不准、丢脉冲计数不准是切割系统最让人头疼的问题症状是实际切出来的长度和设定长度对不上而且误差没有规律。我排查这类问题时按“机械电气程序”的顺序来。机械上先看编码器安装。编码器联轴器松动、滚轮打滑、编码器轴受力弯曲都会造成丢脉冲。用手转动滚轮看编码器是否同步转动听有没有异响。紧固联轴器后通常能解决大半计数不准的问题。另一种情况是编码器装在主动辊上但材料在从动辊上打滑材料实际走的长度和编码器转的长度不一致这种问题只能改机械安装位置。电气上最怕的是干扰。变频器、伺服驱动器、接触器都是干扰源编码器线要远离动力线使用屏蔽双绞线屏蔽层单端接地。PLC的0V和变频器的0V严格分开编码器供电不建议直接从变频器直流母线取单独用开关电源更干净。如果计数偶发跳变可以在高速计数器的输入端并联小电容滤波但注意电容太大会滤掉有效脉冲要权衡。程序上检查计数器配置和清零时机。计数器模式选错、复位信号误触发、中断里清零过早都可能导致计数结果不对。用软件监控HSC的当前值在低速手动转动滚轮时看脉冲数是否平稳增加能过滤掉很多干扰问题。5.3 切割长度误差大、切出来的尺寸不一致同一套系统有时候切出来的尺寸忽长忽短。先别急着改程序从流程上去排查。我总结了一个排查表可以直接对照检查。如果误差是固定偏差比如每次都长5毫米那属于系统误差原因是编码器实际得到的脉冲数和机械实际移动长度的比例不对。解决办法是实际测一段长度校准“每米脉冲数”这个参数。校准方法手动跑一段材料用卷尺量实际长度和PLC显示的长度比对计算出校正系数更新参数。如果误差是随机性的忽长忽短那要看机械和电气干扰。材料在输送段和切刀之间的张力不稳、切刀切入时材料被拉扯、编码器滚轮瞬时打滑、变频器启动时造成电压跌落都是典型的随机误差来源。这种问题排查起来比较费时间但方向明确先让机械稳定再谈电气控制。如果是有规律的周期波动比如每切几次就出现一次偏长或偏短很可能和切割机构的机械复位不准有关系。切刀每次复位的终止位置有差异导致下一次切割的起点不一致。程序上可以做“到位等待”逻辑切刀必须回到原点传感器到位后才允许下一轮启动从源头消除累计误差。另外跟随切割的同步比参数也会直接影响切割精度。同步比偏大或偏小切刀在同步窗口内相对材料有移动切口就歪。调试时先从低速开始观察切口形态按比例微调同步比多次修正后就能稳定。5.4 断电后产量数据丢失、触摸屏显示异常Smart200的V区默认在断电后不保持断电上电后所有数据都恢复为初始值。如果产量统计、累计长度这些数据不做断电保持现场断电再上电就清零操作工肯定受不了。解决方法是利用系统块里的“保持范围”设置。在组态软件或S7-200 Smart的系统块中将V区的某个范围设置为断电保持比如VW2000到VW3000那么这些地址中的数据在断电后可以通过超级电容或存储卡保持下来。要注意保持范围也是有限制的Smart200的保持数据区容量不是无限大规划时算好需要保持的数据量别贪多。触摸屏显示异常的情况大多是通信中断或变量地址不匹配。通信中断时画面上的数值会变成“###”或保持最后值不动。排查先看触摸屏右上角的状态图标红色断开标志说明通信断了。此时回PLC侧检查以太网接口指示灯没亮就是线没通。排除物理连接后再看通信设置是否正确。变量地址不匹配常见于PLC程序改动后忘了同步触摸屏工程或者整型、实型定义不一致。每次改完程序最好把触摸屏工程也同步更新一下统一下载能省很多现场调试时间。5.5 现场调试心法先手动后自动、先低速后高速最后分享一点调试经验。切割系统涉及机械、电气、程序多个环节一上来就全自动跑出了问题根本不知道是哪一环。我自己的调试顺序从来都是“先手动后自动、先低速后高速、先空载后带料”。手动阶段用触摸屏或按钮单独控制输送电机和切刀确认执行机构动作方向正确、限位到位、急停有效。这个阶段不做任何逻辑判断纯粹验证接线和硬件。低速带料阶段先跑定长切割模式速度放慢观察切口质量和测量长度。这一段主要调“每米脉冲数”和“提前量”让基础参数大致准确。中高速带料阶段逐步提速到目标速度观察切口变化调整跟随切割的同步比。每一轮调整只改一个参数改完记录结果再继续忌讳一次动好几个参数出了问题都不知道是哪次改出来的。设备稳定后把最终的参数表格打印出来贴在电柜门上包括编码器线数、每米脉冲数、同步比、提前量、各状态延时时间。半年后设备再出问题维修人员看一眼参数表就能快速恢复不用从头调一遍。这个习惯让我在售后阶段省了非常多的电话和跑现场时间。切割系统的调试本质是让“测量”和“执行”对齐机械的稳定决定了精度的下限PLC和触摸屏的逻辑决定了精度的上限。把这两端都做扎实了设备自然跑得顺。