技成培训网论坛

标题: S7-200 SMART PLC定时器的那些坑 [打印本页]

作者: gaochaoauto    时间: 2023-7-26 15:54
标题: S7-200 SMART PLC定时器的那些坑
众所周知,S7-200 SMART PLC有三种分辨率定时器:分别是1ms,10ms和100ms。在选用这些定时器时我们需要注意以下几点:
1)1ms分辨率定时器:每隔1ms刷新一次,与扫描周期和程序无关,因而当扫描周期较长时,定时器在一个周期内可能被多次刷新,其当前值在一个扫描周期内不一定保持一致。
2)10ms分辨率定时器:在每个扫描周期开始自动刷新,由于每个扫描周期只刷新一次,故在每次程序处理期间,当前值保持不变。
3)100ms分辨率定时器:在定时器指令执行时被刷新,下一条执行的指令即可与使用刷新后的结果,使用方便可靠,但应当注意,如果定时器的指令不是每个周期都执行,定时器就不能及时刷新,可能导致出错。
下面我们就用几个例子来说明定时器刷新对程序的影响:
Ø例1(1ms定时器):使用计数器C1实现1秒加1的功能
解:
情况1:如“图1”,由于1ms定时器值的刷新与扫描周期无关,定时器的值(T32)随时都在变化。假定程序在执行网络段1的位置定时器的值为1000ms,那么此时网络段2的T32常闭点则变成常开,T32定时器的值为0,网络4中的Q0.0为0,C1的计数器的值不累加。
情况2:如“图1”,假定程序在执行网络段3的位置定时器的值为1000ms,则网络4中的T32常开点闭合,Q0.0也接通,则网络5中的C1会累加1。
由于以上两种情况的出现,所以C1计数器的值有时候累加,有时候不加。
图1
Ø例2(10ms定时器):使用计数器C1实现1秒加1的功能
解:
如“图2”,由于10ms分辨率定时器,在每个扫描周期开始自动刷新。PLC在还没执行网络段1时,先检查定时器的值。假定第N个扫描周期开始,检查T33的值到达1000ms,则网络段1中的T33常闭点断开,T33定时器值清0,网络段2中的Q0.0不接通。网络3中的C1计数器不累加1。
由于10ms分辨率定时器,在每个扫描周期开始自动刷新,则C1计数器一直都为0。
图2
Ø例3(100ms定时器):使用计数器C1实现1秒加1的功能
如“图3”,由于100ms分辨率定时器在定时器指令执行时被刷新。当网络段1中的T37常闭点接通时,T37的值才会更新。由于指令执行需要时间,假定:T37常闭点导通,第0ms,从何导通T37,定时器的值不为0,可能为2ms(假定值)。当T37累积到1000ms时,接通网络2中的T37。网络段3中C1的值累加1。
由于100ms分辨率定时器在定时器指令执行时被刷新,C1可以实现1秒加1的功能
图3
若想利用1ms或者10ms的定时器实现“图3”的功能,其实也很简单,如图4:利用Q0.0的常闭触点代替定时器的常闭触点即可

图4
结束语:关于S7-200 SMART PLC定时器使用时我们一定要注意时基的选择,当我们无法很好的去把握扫描周期时,我们可以使用一个辅助位去断开定时器,而不是用定时器本身的触点去断开定时器。


作者: 8888    时间: 2023-7-27 14:41
好!
作者: huhuiyu    时间: 2023-7-27 16:08
讲解的真好
作者: wwwhhh1314159    时间: 2023-7-27 16:56
我爱学习,学习使我快乐
作者: sjp_612    时间: 2023-7-27 17:03
牛呀
作者: landy2008    时间: 2023-7-27 17:04
有点实用
作者: pmhuazai    时间: 2023-7-31 16:33
ok
作者: AHBBDDCM    时间: 2023-7-31 16:47
学习学习
作者: charliezcw007    时间: 2023-7-31 16:57
学海无涯苦作舟
作者: hq0769    时间: 2023-7-31 17:23
学到了
作者: ze-512    时间: 2023-8-1 16:41
棒棒
作者: mqh9990    时间: 2023-8-1 17:25
超好学的
作者: wmj19820712    时间: 2023-8-1 17:39
111111
作者: xuwei0392    时间: 2023-8-2 15:56
学习学习




欢迎光临 技成培训网论坛 (https://bbs.jcpeixun.com/) Powered by Discuz! X3.3