分享

深入||西门子SIMATIC PLC 计时器的使用详解

 阿明哥哥资料区 2019-01-07

摘要: 此篇文档分析描述了定时器在程序中如何动作的问题,为客户更好的理解定时器提供了帮助。

作者:西门子

文档类型:常问问题

产品类别:自动化系统工业软件Step 7

一、分析Timer

1.  提出问题

 

 

图1

问题1:M10.2能否被置位?

 

图2

问题2:S_CU计数有无问题,M6.2能否被置位?

先来了解一下都有哪几个计时器,以及它们的特性如何

 

图3

2.  计时器描述

从以图3可以看出5个计时器的基本特性,可以简单的从中挑选与控制工艺相符合的计时器使用,如果想了解计时器的详细信息,可以选择计时器,并按F1看帮助信息中的具体逻辑图。

以计时器SD为例,参见图4

图4

我们从中可以知道,当触发端S的信号为上升沿时,触发计时器开始运行,时间结束后计时器输出端为1,S信号为下降沿时,计时器输出端为0

那么根据此情况,以图1为例,咱们可以把刚才的梯形图程序通过时序图表示如下图5

其中a,b之间是在扫描此段程序两个周期之间的间隙。

 

 

图5

3.  计时器与循环程序的关系

经过分析,可以看出,M10.2(S)是可以被置位的,那为什么没有看见其被置位呢?

大家注意,这里t的时间是8s,我们知道,一个程序的扫描周期很短,可能才十几----几十毫秒,在线时候可以监控到Scan Cycle Time。如图6

图6

那这个时间不是远远超过了扫描周期么?

我们又知道,如果程序扫描周期大于最大扫描周期监控时间Scan Cycle Monitoring Time,那么将会触发中断,甚至造成CPU进入STOP状态。

其实,计时器的执行是异步于OB1循环扫描的,只要计时器运行后,在每一周期扫描到计时器的触发端S信号如果为1,那么计时器就将在此周期继续计时。因此,它对于最大周期监控时间并没有太大的影响,只是调用语句时占用了少许us的时间。

怎么来验证这个说法呢?就是说计时器的执行并不同步于OB1程序扫描周期。

1,可以在程序中加入若干SFC47增大程序扫描周期(保证小于Scan Cycle Monitoring Time),通过监控计时器的时间,可以看出,计时器的时间是跳跃式的变化的,也就是说,也就是说,当程序扫描完计时器,继续往下进行时,计时器满足触发条件进行计时,此周期往后的计时是一直在进行的。

2,可以通过在中断来证明

3,通过程序死循环监视计时证明

4,通过多个计时器监视时间来证明等等各种方法

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多