[西门子] 西门子SCL语言计数器应用案例

[复制链接]
查看122 | 回复0 | 2024-10-29 16:06:11 | 显示全部楼层 |阅读模式

西门子SCL语言计数器应用案例

计数器是编程中又一项非常重要的一点,在很多场景中都可以使用,下面就以两个案例来分享一下计数器的应用。

案例1:以彩灯规律亮灭

控制要求:现又10个彩灯需要以顺序方式单个点亮,全亮后再顺序熄灭,然后以间隔一个方式点亮,彩灯亮起间隔时间1秒;后面也可以自行加控制需求。此处旨在了解计数器使用,不在控制复杂度。

首先,选定一个PLC型号新建一个项目文件,对需要用到I/O信号进行配置,此处我们以计数器应用为目的,所以必定需要计数器。彩灯亮灭间隔1秒,可以用定时器设定,如下图所示:

在项目树下,双击“添加新块”在弹出的对话框中,选择函数块FB,命名为“彩灯”编程语言采用SCL,如下图所示:

在新建的“彩灯”函数块参数接口定义要用到的输入输出参数,如下图所示:

下面开始编写SCL程序,定时器的应用在《SCL语言定时器应用案例》一文中已经详细介绍了如何使用,现在只针对计数器,在指令列表中拖入一个增计数CTU-选中“多重实例DB”自动在接口参数中的名称命名-如下图所示:

在插入的指令格式中,请计数器的相关参数更改为我们事先设定好的接口参数,名称换为T1,输入驱动条件#I1.0等:

然后我们就可以利用计数器当前值来驱动彩灯的点亮顺序,灭灯顺序等,如下图所示:

案例2:车辆管理

比如我们在进出停车场时,场内总计100个车位,进入一辆车位就减少一位,出来一辆车位就增加一位,此处类推来进行车辆管理,此时同样可以使用计数器实现管控要求。

此时,我们就可以利用增减计数器CTUD来实现。

指令编写:

这样就可以进行简易的车辆管理。实时掌控车位状态,无车位时,可驱动联锁不能进入。


帮忙点点在看,分享让更多的人一起学习!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则