关于SIMATIC定时器异步刷新的例子

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    8227
  • 精华

    145
  • 被关注

    1378

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

关于SIMATIC定时器异步刷新的例子

2239

18

2018-04-27 10:08:03

关于SIMATIC定时器异步刷新的例子

案例摘自西门子官方文档【SIMATIC PLC 计时器的使用】2009年-1月期

   今天在“找答案”栏目中看到这样一个案例,【语句执行的先后顺序问题】,问题链接:

http://www.ad.siemens.com.cn/service/answer/tobe_solution.aspx?Q_ID=189465&cid=1029

直接上案例程序,图示:



从上图可以看到仿真时,C1能够正常计数,而C3无法正常计数。

我在回复是将计数器C3拆分上移到上一个程序段,这样可以正常计数了,图示:



晚上想起这个回复,总感觉还有什么不妥,于是,找出之前保存的西门子官方文档,再看官方的例子,图示:



这个M10.2是否能够被置1可能?

添加定时器“循环”计数次数C1想在那几个循环后能够捕捉M10.2的程序,图示:添加计数器的目的是看定时器“循环”的次数多少时,M10.2被置位。



计数器在定时器不断“循环”驱动下,在不断的进行加计数,但这个M10.2就是像被屏蔽了似的,很难有被置位的可能。

再继续按官方给出的例子,加入程序SFC47到程序段2,看M10.2能否有被置位的可能,图示:当定时器“循环”到第3个周期时,嘿嘿了,这当然是概率问题(官方的原话)。



在仿真器中重新复位M10.2,再看这个M10.2被置位的概率,这个置位有一定概率性,而并不是有一定规律性的,中间的论证和计算过程参见官方该文档说明。

我在没有做此验证前,一直认为要使计数器C3或M10.2有效,必须要将该程序段放置到定时器线圈的上面的程序段位置,目的是让定时器线圈在被cpu刷新前有效,这个理论是“不一定全面”的概念。重新看过官方的例子程序,才领悟到在定时器程序段下面时,也有可能被计数、置位有效。为验证这个理论,再次将网友的程序段上进行仿真,图示:



计数器C3仍然存在有计数的可能,还是那个“概率”问题。

我不全面的回复可能会误导了那位网友,也盼望那位网友能够看到此贴后,能够重新正确认识西门子定时器的刷新机制。

当然,上述例子如同官方文档说明那样,验证只是在一个被假象了的对象下进行的(插入系统块SFC47)后,延时1000mS下的验证。如果仅仅以网友的那几段程序,被计数的可能性基本不存在,只是考虑到可能在实际应用程序中的程序结构性而已。

添加SFC47的目的就是为了延长定时器T1输出端的有效时间长度,也就是为了延长定时器被cpu刷新的几率。当修改SFC47(WT)时间,时间越小,这个计数器C3被计数的概率就越小,图示:将SFC(WT)修改到5mS



这个计数C3被计数的概率仍然存在,这个延时时间已经非常接近于一般的控制程序的扫描周期了,随着定时器循环次数的增加,计数器计数仍然会有概率性地计数,图示:



SIMATIC定时器异步刷新的工作机制,是指定时器定时时间到达后,触点的刷新并非由线圈来决定的,而是由cpu的扫描周期来确定的被灌之为“异步”特性。


关于SIMATIC定时器异步刷新的例子 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54214条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。