技术论坛

技术专题探讨-SIMATIC PLC 计时器的使用

作者 主题
奇侠

经验值: 6089
发帖数: 3970
精华帖: 20
技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-15 16:44:43
标签:
大家在编写STEP 7程序时,会经常用到Timer计时器,但在使用过程中有很多疑问,感觉有时候程序执行与自己所想要得结果有出入,逻辑上分析看不出有任何问题,那么为什么会有这样的现象呢?Timer计时器的执行与CPU的程序扫描周期有什么关系呢?我们应该如何来使用Timer呢?
我们会在以下针对此话题通过相关的程序进行讨论,期间也会有西门子工程师上线与大家交流。希望通过这次讨论使大家在今后能更好的理解和使用Timer计时器。
请首先让我们来一起关注以下两个问题:
1)下图中,M10.2能否被置位?


2)下图中,S_CU计数有无问题,M6.2能否被置位?



此次集中探讨将持续至2009年1月7日,其中有突出表现的网友将获得加倍精华奖励积分;最终所有有效留帖的网友将获得加倍发帖积分;根据交流情况,会酌情赠送小礼品。
交流结束后也将整理精华内容,供广大网友分享参考;还将公布获奖网友名单。
 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=508976&b_id=4&s_id=0&num=130

侠圣

经验值: 2049
发帖数: 730
精华帖: 1
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 07:34:39
第一个问题M10.2不能被置位,T3始终为0
I can do anything if I want
以下网友喜欢您的帖子:

  
侠圣

经验值: 2044
发帖数: 626
精华帖: 1
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 09:37:44
坛主给的问题其实是时间继电器的动作问题,即时间继电器的动作是下个cpu的扫描周期,所以1、2两个问题的m10.2和m6.2均不能置位,如果把它们放在时间继电器的前面就可以置位了
管理员注:本帖已被纳入此次探讨整理结果,请点此详阅
 
以下网友喜欢您的帖子:

  
游民

经验值: 98
发帖数: 16
精华帖: 0
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 09:54:27
M10.2不能,M6.2能置位
没有做不到的,只有想不到的。
以下网友喜欢您的帖子:

  
新手

经验值: 36
发帖数: 5
精华帖: 0
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 09:59:22
时间继电器的动作是下个cpu的扫描周期,所以1、2两个问题的m10.2和m6.2均不能置位,如果把它们放在时间继电器的前面就可以置位了

同意axq2008
 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2124
发帖数: 947
精华帖: 2
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 10:00:02
M10.2不能被置位
S_CU计数有问题
M6.2不能被置位
细节决定成败
以下网友喜欢您的帖子:

  
游士

经验值: 184
发帖数: 47
精华帖: 0
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 11:08:33
M10.2不能被置位、S_CU计数有问题、M6.2不能被置位
山高人为峰,千里之行始于脚下
以下网友喜欢您的帖子:

  
游侠

经验值: 587
发帖数: 142
精华帖: 1
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 11:26:10
1.M10.2不能被置位,T3只有在延时时间到了后下个CPU扫描周期输入端还为1的才输出为1。
2.S_CU不能计数,M0.7改成常闭点或取消,可以计数。
M6.2不能被置位,原因跟第一个一样,T1只有在延时时间到了后下个CPU扫描周期输入端还为1的才输出为1。

 
以下网友喜欢您的帖子:

  
侠圣

经验值: 3035
发帖数: 1434
精华帖: 9
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 11:40:35
第一个问题M10.2不能被置位.
原因:SD为接通延时定时器线圈。CPU开始运行时,通过T3常闭T2时间继电器进行计时,计时时间8S到,通过T2常闭T3时间继电器进行计时,计时时间8S到时,根据程序执行顺序,T3常闭断开,T2时间继电器停止,则输出为0,从而使T3时间继电器停止,输出也为0,因此,M10.2无法被置位,同时又开始了新一轮的计时。
注意:当计时器计时时间到时,如果输入端仍然为1时,才输出1。
第二个问题:
1、S_CU计数有问题,没有指定计数器的标识号,预置值,置位输入端,复位输入端等.无法进行计数。
2、M6.2不能被置位!
原因:M0.7被置位后,计时器T0开始计时,当计时时间到时,T0时间继电器起动输入端变为0,则计时器T0输出0,无法置位M6.2。
注意:当计时器计时时间到时,如果起动输入端S仍然为1时,才输出1。

管理员注:本帖已被纳入此次探讨整理结果,请点此详阅
QQ:9150312
以下网友喜欢您的帖子:

  
奇侠

经验值: 6879
发帖数: 5350
精华帖: 25
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 12:14:06
我现在倾向于用多重背景DB来使用SFB4、5
不必记着哪个Timer被用了 方便
怎么论坛改成这样了??
以下网友喜欢您的帖子:

  
游民

经验值: 134
发帖数: 22
精华帖: 0
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 13:07:08
第一个问题

我拿此程序做测试,过了一段时间m10.2可以被置位啊。但是再做测试的时候,又一直置位不了了,怎么回事???????


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2870
发帖数: 1287
精华帖: 33
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 13:45:43
我现在 跟Liwenqun学习,
整体倾向于使用 SFB4,5.

有个程序段,用了800多个 timer,
要是都是 S5T,光是记那个用了,那个没用,就崩溃了。
Qiaopeng1231--乔鹏
以下网友喜欢您的帖子:

  
侠士

经验值: 1759
发帖数: 1423
精华帖: 3
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 15:36:59
((我现在 跟Liwenqun学习,

整体倾向于使用 SFB4,5.
有个程序段,用了800多个 timer,
要是都是 S5T,光是记那个用了,那个没用,就崩溃了。 ))


请教“liwenqun”和“展翅飞翔”两位前辈,不知道你们说的SFB4和SFB5怎么使用,我刚用模拟器调用的试了一下,不知道该如何使用,两位前辈能上传一个简单的例子程序看一下么?或发到我邮箱:wanshengping_2004@163.com
谢谢!

只会用S7-200PLC!
以下网友喜欢您的帖子:

  
新手

经验值: 2
发帖数: 2
精华帖: 0
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 16:03:56
S_CU计数器只要不是C0没有问题,可以运行。

M6.2可能被置位
engineer
以下网友喜欢您的帖子:

  
新手

经验值: 2
发帖数: 2
精华帖: 0
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 16:09:18
M10.2能置位
engineer
以下网友喜欢您的帖子:

  
游民

经验值: 134
发帖数: 22
精华帖: 0
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 16:29:09
axq2008前辈
我觉得应该是可以置位的,我把程序修改了一下,加了一个延时,可以看出已经置位了,说明它并不一定是在下一个扫描周期才动作的,它到底是怎么工作的呢?是不是和循环周期有关系啊。



管理员注:本帖已被纳入此次探讨整理结果,请点此详阅
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1759
发帖数: 1423
精华帖: 3
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 16:32:35
1)下图中,M10.2能否被置位?
M10.2不能被置位,将NETWORK3放到NETWORD2前面就可以置位了


2)下图中,S_CU计数有无问题,M6.2能否被置

S_CU是没有问题可以计数的(计数器少了个计数器地址C1),但放在TO定时器“线圈”的后面就不行了;M6.2是不能被置位的,放在定时器“线圈”前面就可以了。

平时在使用PLC编程的过程中也遇到过这样的问题,处理方法就是把程序段掉换位置,放在定时器“线圈”或计数器“线圈”前面(当然和个人所编写的程序有关)。楼主所提出的问题和本网站所讨论的“一个周期脉冲”、“一键开关”有相同之处,都和PLC扫描周期有关,我觉得理解这些问题是很有必要的。也许是我不够勤快,我到现在对这些问题也不是很理解(但用死记硬背和其他方法可以应用),现将“一个周期脉冲”、“一键开关“两个问题都列举出来,我这次也会争取将”扫描周期“这个概念理解透彻,期待各位“大侠”的参与和指导!
“一键开关”程序如下:
程序段1:
A I 0.0
AN M 1.1
= M 1.0
程序段2:
A I 0.0
= M 1.1
程序段3:
A M 1.0
AN Q 0.0
O
AN M 1.0
A Q 0.0
= Q 0.0

“一周期脉冲”程序如下:
a 启动条件
=q0.0//脉冲输出点
a 启动条件
r 启动条件

管理员注:本帖已被纳入此次探讨整理结果,请点此详阅

只会用S7-200PLC!
以下网友喜欢您的帖子:

  
游民

经验值: 133
发帖数: 50
精华帖: 0
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 18:23:31
问题1,M10.2能够置位。问题2,M6.2不能够被置位。如果计数器加上标识号(例如C1)的话,计数器能够运行。
问题1:第一次扫描T2 T3都为0,T2开始计时,当到8S时,T2=1,T3开始计时.当再计时8S时,扫描到网络2时T3=1,再扫描到网络3时把M10.2置1.
问题2:当M0.7吸合后,定时器开始计时,当到5S时,T0=1同时T0的常闭点把T0有复位成0,所以M6.2不能被置位。但是CPU能够捕捉到T0的上升沿,所以能够让计数器计数(前题是计数器加上网络标志号)。
 
以下网友喜欢您的帖子:

  
游士

经验值: 187
发帖数: 3
精华帖: 0
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 20:14:30
问题其实是时间继电器的动作问题,即时间继电器的动作是下个cpu的扫描周期,所以1、2两个问题的m10.2和m6.2均不能置位,如果把它们放在时间继电器的前面就可以置位了
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1635
发帖数: 699
精华帖: 5
回复:技术专题探讨-SIMATIC PLC 计时器的使用


只看楼主 2008-12-16 22:58:40
在1)图中M10.2是不能置位的,只有将NW3放到NW2的前面,才能被置位。
在2)图中,NW1中的程序是没问题的,能正常时进行计数;但NW2中,当M0.7闭合时,计时器开始计时,T0以复位5秒,置位1个扫描周期的时间,周而复始的循环计时。但这段有两处在设计上是不允许的,计时器的BCD输出值MW2与计时器的Q输出M2.0地址重合,虽在此能正常计时,但如果计数时间TV超过两位数时,就有影响了。NW3中的M6.2是不能被置位的,与1)图中的原因一样,除非NW3被移至NW2的前面。
从这两个实例,我认为是不是这种定时器,定时值到达后,要下个扫描周期开始时才能更新置位定时器位,而断开使能端则随时可以复位定时器位?实质上定时器的计时行为,是不是脱离于扫描周期之外进行的?
管理员注:本帖已被纳入此次探讨整理结果,请点此详阅
学如逆水行舟,不进则退
以下网友喜欢您的帖子:

  
收起
技术专题探讨-SIMATIC PLC 计时器的使用
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。