☰
PLC实战案例!产品计数分拣程序,S7-1200计数器轻松搞定
2026/9/30 2:38:24 网站建设 项目流程

学会了西门子S7-1200计数器的基础用法,怎么才能真正用到实际项目里?最经典、最必练的实战案例,就是生产线产品计数+机械手分拣控制。

这个案例完美覆盖了CTU加计数器的核心用法,还结合了之前学过的起保停、定时器指令,工控现场90%的生产线计数、批次分拣、定量包装控制,都是在这个程序的基础上延伸出来的。新手只要把这个案例吃透,现场的产品计数、设备动作次数控制、批次生产程序,都能直接举一反三。

这篇文章就手把手教你写出完整的产品计数分拣程序,从控制要求、变量定义,到分步编程,新手照着做就能一次成功。

一、先明确核心控制要求

我们先把控制逻辑理清楚,写程序之前一定要先明确时序和动作要求,不然写出来的程序很容易出问题:

1.按下启动按钮,传送带电机启动运行,同时产品计数清零,初始化数据;

2.传送带运行过程中,每检测到一个产品经过传感器,计数器自动计数1次;

3.产品累计计数达到24个时,机械手电磁铁立即动作,执行分拣动作;

4.机械手动作后,延时2秒,自动切断电磁铁,同时计数器自动清零,准备下一轮计数;

5.按下停止按钮,传送带电机立即停止,所有动作复位,计数清零。

二、第一步:PLC变量定义(IO地址分配)

写程序之前,先把输入输出地址、中间变量定义好,这是程序不出错的基础,也是现场接线的依据。

同时需要创建一个全局DB块,为CTU计数器分配独立的背景数据块,避免程序出现计数异常、逻辑冲突的问题。

三、第二步:编写传送带电机启停控制程序

先写最基础的电机起保停程序,同时实现电机启动瞬间计数清零的初始化功能,这是整个程序的基础。

核心程序逻辑:

1.用经典的起保停电路,启动按钮start(%I0.0)常开触点作为启动条件,停止按钮stop(%I0.1)常闭触点作为停止条件,串联在控制回路里;

2.并联电机motor(%Q0.1)的常开触点,实现自锁功能,松开启动按钮后,电机保持持续运行;

3.电机启动的第一个扫描周期,用上升沿触发传送指令,将0赋值给产品数量%MW20,实现计数初始化,避免上一次的计数数值影响本次运行。

运行逻辑:

- 按下启动按钮,电机立即启动运行,同时产品计数清零,准备开始计数;

- 按下停止按钮,电机立即停止运行,所有动作复位。

四、第三步:编写产品计数核心程序

这是整个程序的核心,用CTU加计数器实现产品数量的累计,完美匹配现场的计数需求。

核心程序逻辑:

1.计数器CU端:串联两个信号,一个是检测传感器check_sensor(%I0.2)的常开触点,另一个是电机motor(%Q0.1)的运行信号,只有电机运行时,才会执行计数,避免电机停止时误计数;

2.计数器PV端:设置为24,也就是累计24个产品触发一次动作;

3.计数器CV端:赋值给产品数量%MW20,实时显示当前累计的产品数量;

4.计数器R端:接机械手电磁铁robot(%Q0.0)的常开触点,机械手动作时,自动复位计数器,准备下一轮计数。

运行逻辑:

- 电机运行时,每有一个产品经过传感器,CU端就会检测到一个上升沿,计数器自动加1,实时数值同步到%MW20里;

- 当累计计数达到24个时,计数器输出端Q自动置位为1,触发后续的机械手动作;

- 机械手动作时,复位端R置1,计数器立即清零,开始下一轮24个产品的计数循环。

五、第四步:编写机械手分拣控制程序

这部分程序结合了计数器输出和TON接通延时定时器,实现机械手动作+延时2秒自动复位的功能。

核心程序逻辑:

1.当CTU计数器的输出端Q置位为1时,立即置位机械手电磁铁robot(%Q0.0),机械手执行分拣动作;

2.机械手电磁铁置位的同时,启动TON接通延时定时器,定时器PT端设置为T#2S;

3.定时器计时2秒时间到后,输出端Q置位,复位机械手电磁铁,切断电磁铁电源,完成一次分拣动作。

运行逻辑:

- 产品计数达到24个,机械手立即动作;

- 动作持续2秒后,自动复位,同时计数器清零,进入下一轮计数循环,完全实现自动化运行。

六、新手必看的避坑要点

1.计数器只认上升沿,一定要避免重复计数:传感器信号一定要做好防抖处理,避免产品经过时出现多个上升沿,导致计数不准;现场传感器尽量用PNP/NPN型光电开关,不要用机械触点,减少抖动干扰。

2.计数器必须分配独立的背景数据:每个CTU/CTD/CTUD计数器都要有独立的背景DB,不能多个计数器共用一个背景块,不然会出现计数异常、数值错乱的问题。

3.电机运行时才计数,避免误计数:程序里一定要把电机运行信号串联到计数输入端,电机停止时,哪怕传感器有信号,也不会触发计数,避免现场调试、设备停机时出现误计数。

4.机械手动作必须加延时保护:现场电磁铁、气缸动作都需要响应时间,一定要加定时器延时复位,不能瞬间接通就断开,不然会出现机械手动作不到位的问题。

5.停止按钮必须清零复位:按下停止按钮时,一定要同时复位计数器、清零产品数量、复位机械手,避免下次启动时,程序保留上一次的状态,出现逻辑混乱。

这个产品计数分拣案例,完美覆盖了S7-1200 CTU计数器的核心用法,还结合了起保停、定时器这些基础指令,是新手从理论到实战的必经之路。只要把这个程序吃透,搞懂计数器的触发逻辑和时序控制,现场绝大多数的计数、批次、定量控制项目,你都能轻松搞定。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询