当前位置:首页>java>【SCL编程实战】包装分拣系统

【SCL编程实战】包装分拣系统

  • 2026-10-21 13:27:25
【SCL编程实战】包装分拣系统

设计需求

本文介绍使用西门子 TIA Portal SCL 语言设计一个包装分拣控制系统,该系统的功能是将高度不同的两种包装箱分类输送并计数。

文末提供了该实例的 TIA Portal 项目文件和 Factory I/O 场景文件下载链接,感兴趣的朋友自行下载。

功能设计

包装箱尺寸判断:

如果只有低位传感器触发则判断为小箱,如果低位和高位传感器都触发则判断为大箱。

系统启动:

按下启动按钮,系统启动运行,直到按下停止按钮。

初始化:

1# 皮带启动运行,箱子随机生成器启动。

启停 2# 皮带:

检测到小箱或大箱则启动 2# 皮带,如果是大箱则运行 8 秒钟,如果是小箱则运行 2 秒钟。

启停 3# 皮带:

如果是大箱则不运行,如果是小箱则运行 8 秒钟。

包装箱计数:

分别记录小箱、大箱的数量和总数量,并可以通过复位按钮清除计数。

程序设计

添加一个 FB,命名为:BoxSortSys。

定义接口变量:

编写程序代码:

第一段,通过高低传感器判断箱子大小。

第二段,系统启停、变量沿检测和定时器管理。

第三段,系统运行逻辑控制,小箱通过时,启动推杆,将小箱推至 3# 皮带,2# 皮带、3# 皮带和推杆均通过定时器控制。

第四段,计数器复位和变量值输出。

定义 PLC 变量

在 PLC 变量表中定义如下 IO 变量。

功能块调用

在循环组织块中调用 FB BoxSortSys,并连接实参。

如下图:

功能测试

使用 PLCSIM Advanced 和 Factory I/O 对功能进行仿真测试,大体实现了基本功能,尽管还有一些 BUG。

总结

通过该实例主要学习了 R_TRIG 上升沿指令、F_TRIG 下降沿指令、TON_TIME 接通延时定时器指令、TP_TIME 脉冲定时器和 IF 条件语句的使用方法和应用场景。

实例下载

链接:https://pan.quark.cn/s/07d68b47306c

提取码:d2cv

最新文章

随机文章