设计需求
本文介绍使用西门子 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