问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

西门子S7-200SMART实现长时间倒计时功能

创作时间:
作者:
@小白创作中心

西门子S7-200SMART实现长时间倒计时功能

引用
CSDN
9
来源
1.
https://m.blog.csdn.net/weixin_42446365/article/details/105858438
2.
https://baijiahao.baidu.com/s?id=1780542618161975624
3.
https://m.blog.csdn.net/m0_46143730/article/details/127149351
4.
https://m.blog.csdn.net/duxiaokang2014/article/details/116695531
5.
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/programming/Timer.html
6.
https://www.ad.siemens.com.cn/download/materialaggregation_1594.html
7.
https://m.elecfans.com/v/450477/
8.
https://www.founderchip.com/?id=199
9.
https://www.51zxw.net/TechArticleDetails.aspx?id=2482

在工业自动化控制中,经常需要实现长时间的倒计时功能,比如设备停机计时、生产周期计时等。然而,西门子S7-200 SMART PLC的硬件定时器最大只能定时54.6分钟(使用100ms分辨率的定时器),这显然无法满足长时间倒计时的需求。本文将介绍如何利用S7-200 SMART的系统脉冲时钟实现长时间的倒计时功能。

硬件定时器的局限性

S7-200 SMART提供了256个定时器(T0-T255),根据分辨率不同,最大定时时间如下:

  • 1ms分辨率:最大32.767秒
  • 10ms分辨率:最大327.67秒(约5.46分钟)
  • 100ms分辨率:最大3276.7秒(约54.6分钟)

显然,这些定时器无法满足长时间倒计时的需求。为了解决这个问题,我们可以利用PLC的系统脉冲时钟(SM0.5)来实现软件定时。

利用SM0.5实现1秒脉冲计数

S7-200 SMART的系统特殊寄存器SM0.5提供了一个1秒的脉冲信号,我们可以利用这个信号来实现软件计数。具体方法如下:

  1. 使用SM0.5作为1秒脉冲信号
  2. 每次SM0.5上升沿到来时,递减倒计时变量
  3. 当倒计时变量减到0时,表示倒计时完成

倒计时功能块设计

为了方便使用,我们可以将倒计时功能封装成一个功能块(FB)。功能块的输入参数包括:

  • IN_Enable:启动倒计时的使能信号
  • IN_Day:天数
  • IN_Hour:小时数
  • IN_Minute:分钟数
  • IN_Second:秒数
  • IN_Reset:复位信号

功能块的输出参数包括:

  • OUT_Done:倒计时完成信号

功能块内部实现如下:

  1. 首先将天、小时、分钟转换为秒,累加到总秒数变量中
  2. 使用SM0.5作为1秒脉冲信号
  3. 每次SM0.5上升沿到来时,递减总秒数变量
  4. 当总秒数变量减到0时,置位OUT_Done信号

完整代码示例

以下是倒计时功能块的完整代码示例(使用梯形图表示):

使用说明

  1. 在主程序中调用倒计时功能块
  2. 根据需要设置天、小时、分钟等参数
  3. 使用IN_Enable信号启动倒计时
  4. 使用IN_Reset信号复位倒计时
  5. 监控OUT_Done信号判断倒计时是否完成

通过以上方法,我们可以轻松实现长时间的倒计时功能,满足各种工业控制需求。这种方法不仅解决了硬件定时器时间不足的问题,还提高了控制的灵活性和精度。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号