
学会了西门子S7-1200定时器的基础用法怎么才能真正用到实际项目里最经典、最必练的实战案例就是三台电机顺序启动、逆序停止。这个案例完美覆盖了TON接通延时、TOF断开延时的核心用法工控现场90%的多设备分级启动、延时停机控制都是在这个程序的基础上延伸出来的。新手只要把这个案例吃透现场的传送带、泵组、生产线顺序控制都能直接举一反三。这篇文章就手把手教你写出完整的顺启逆停程序从控制要求、变量定义到分步编程新手照着做就能一次成功。一、先明确核心控制要求我们先把控制逻辑理清楚写程序之前一定要先明确时序要求不然写出来的程序很容易出问题1按下启动按钮1#电机立即启动延时3秒后2#电机自动启动再延时3秒后3#电机自动启动2按下停止按钮3#电机立即停止延时5秒后2#电机自动停止再延时5秒后1#电机自动停止3启动过程中按下停止按钮立即执行逆序停止逻辑停止过程中按下启动按钮立即重新执行顺序启动逻辑。二、第一步PLC变量定义IO地址分配写程序之前先把输入输出地址、中间变量定义好这是程序不出错的基础也是现场接线的依据。1. 硬件IO变量表2. 数据块DB变量定义我们需要创建一个全局DB块用来存放定时器和中间控制变量避免程序出现逻辑冲突三、第二步编写主控启停逻辑先写最核心的总控制信号用SR复位优先触发器实现停止优先的安全控制这是工控程序的安全红线。程序逻辑- 置位端S接启动按钮start%I0.0的常开触点按下启动按钮总控制信号motorControl置位为1- 复位端R1接停止按钮stop%I0.1的常开触点按下停止按钮总控制信号motorControl立即复位为0- 输出Q赋值给motorControl变量作为三台电机启停的总控制信号。这样写的好处是任何时候按下停止按钮都能立即切断总控制信号优先执行停止逻辑保证现场设备安全。四、第三步分电机编写控制程序1. 1#电机控制程序立即启动延时5秒停止1#电机是第一个启动、最后一个停止的核心用TOF断开延时定时器实现延时停止功能。程序逻辑- 定时器IN端并联两个信号一个是总控制信号motorControl另一个是2#电机motor2的运行信号- 定时器PT端设置为T#5S也就是停止延时5秒- 定时器Q端直接赋值给1#电机motor1%Q0.0。运行逻辑- 启动时按下启动按钮motorControl置1TOF定时器IN端为1Q端立即置11#电机直接启动- 停止时按下停止按钮motorControl复位为0此时2#电机还在运行IN端依然保持1直到2#电机停止IN端变为0TOF定时器开始计时5秒时间到Q端复位1#电机停止。2. 3#电机控制程序延时3秒启动立即停止3#电机是最后一个启动、第一个停止的核心用TON接通延时定时器实现延时启动功能。程序逻辑- 定时器IN端串联两个信号一个是总控制信号motorControl另一个是2#电机motor2的运行信号- 定时器PT端设置为T#3S也就是启动延时3秒- 定时器Q端直接赋值给3#电机motor3%Q0.2。运行逻辑- 启动时2#电机启动后TON定时器IN端置1开始计时3秒时间到Q端置13#电机启动- 停止时按下停止按钮motorControl复位为0TON定时器IN端立即变为0Q端直接复位3#电机立即停止。3. 2#电机控制程序延时3秒启动延时5秒停止2#电机是中间过渡的既要延时启动也要延时停止相当于1#和3#电机的组合用TONTOF两个定时器实现。程序逻辑- 启动部分TON定时器IN端接1#电机motor1的运行信号PT设为T#3SQ端控制2#电机的启动条件- 停止部分TOF定时器IN端接3#电机motor3的运行信号PT设为T#5SQ端控制2#电机的停止条件- 最终输出两个定时器的信号并联赋值给2#电机motor2%Q0.1。运行逻辑- 启动时1#电机启动后TON定时器开始计时3秒时间到2#电机启动- 停止时3#电机停止后TOF定时器开始计时5秒时间到2#电机停止。五、新手必看的避坑要点1.定时器必须分配独立的背景数据每个定时器都要有独立的背景DB我们用数组的方式统一管理避免出现定时器互相干扰、计时异常的问题。2.停止优先是安全红线所有控制逻辑都要保证停止按钮优先级最高任何时候按下停止都能立即执行停止逻辑绝对不能出现停不下来的情况。3.时序一定要匹配启动时1#→2#→3#停止时3#→2#→1#程序里的信号串联一定要对应不然会出现启动顺序混乱、停止逻辑异常。4.现场接线和程序逻辑对应停止按钮现场用常闭触点程序里就要用常开触点一定要提前核对不然会出现按下停止按钮无法停机的安全隐患。这个顺启逆停案例完美覆盖了S7-1200 TON和TOF定时器的核心用法是新手从理论到实战的必经之路。只要把这个程序吃透搞懂定时器的触发逻辑和时序控制现场绝大多数的延时控制项目你都能轻松搞定。