- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SIMATIC PLC 计时器的使用
显示订货号
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,
?
那说明了是异步的有何作用呢?
?
说明了刚才咱们分析程序所作的时序图有一定的问题,因为咱们的分析是按照程序一步步往下进行的,相当于是同步进行的。而实际在程序执行时,扫描周期是比较短的,所以计时器是在其中的某一个周期里计时器计时结束时输出被置位为1,那么因为这样,所以对我们编写程序就会有一定的要求。也就有了下面一个问题
?
4.??计时器动作的时刻
计时器的输出端是什么时候被置位呢,什么时候起作用呢,比如?
是等到重新扫描到计时器块,计时器执行完毕才置位,还是不用重新扫描到计时器?程序中直接扫描的T40节点,它就已经被置位了呢?
?
1,我们可以设置OB35的看门狗时间为2000ms,?如图7
OB35里触发计时器T40,的开点给线圈M6.0,如图8
OB1里的开点给线圈M6.1,M6.0开点给线圈M6.2,如图9
经过试验,观察看到,当T40的Timer运行结束后M6.1立刻就被置位了,而M6.0和M6.2会等到再次扫描到OB35,才会被置位。
可得出结论,当计时器T40计时结束时,CPU扫描到时,它就已经为1了,不需要等到扫描计时器S_ODT(SD)。
?
?
图7
?
?
?
?
图8
?
?
?
?
图9
?
2,也可以在OB1里调用多个“wait”代码让OB1的扫描周期足够大,如5s,先调用一个SD T2 1s,然后调用若干“wait”,大概持续2s,用T2开点触发一个线圈如M10.0,再调用若干“wait”,大概1s,然后再调用一个SD T3,可以看出再T3还没有开始计数时,M10.0已经被置位了。
?
计时器在OB30—OB38里呢?
?
是一样的。
可以在OB35里使用SD计时器,可以发现,当程序调用OB35时,计时器开始运行,把OB35执行时间和计时器时间设置大些,可以发现,只要每次在扫描的计时器触发端时,条件满足,计时器就开始运行,直到下一次扫描OB35时再扫描到此条件为止。
可以把计时器时间设置足够大,当计时未结束前把它的触发端变为0,那么其计时停止,直到再次触发。
可以得出计时器的运行只与每次扫描到它的触发端有关。扫描完触发端后,计时器的运行就与触发端无关了,直到下一次再次扫描到此触发端。
?
5.??分析程序
?
了解了以上的一些基本知识,咱们再来看看刚才图1中的程序。
?
一个CPU的扫描周期是可以计算的,根据不同的配置和数据的读取,可以计算出不同的周期,在PLC运行时,每个周期的大小也是不一样的,可以大致计算出范围,可以根据每
文档评论(0)