回复:关于200 SMART BGN_ITIME和CAL_ITIME指令的应用

WWCWWC

西门子1847工业学习平台

  • 帖子

    9108
  • 精华

    157
  • 被关注

    1473

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

发布于 2019-04-19 10:47:47

4楼

后续测试

1)  按1楼网友的程序测试:

这个程序能够反映出M0.0在plc扫描机制下的通、断过程,并通过间隔定时器捕捉。

2)  按提问网友的程序测试:

因为这个程序是采用特殊标志位SM0.1作为启动间隔定时器的条件,且只有一个周期有效。我在测试时,无法看到间隔定时器VD0的数据,为验证可能存在的概率问题,我又下载了几次测试,结果仍然是一样的VD0均没有数据。

按那位网友的回复,这个间隔定时器的指令他非常熟悉,也很了解。但是我在按他的要求做测试时始终无法进行正确计时,因为仅仅是在网上的交流,可能无法真实反映出具体的测试程序及测试过程。

既然是仅仅的一次,我又结合1楼网友的思想,做了一个程序测试:

这次可以看到BGN_ITIME指令的out管脚有了数据,这个数据实际上是BGN_ITIME指令运行(接通次数)的累积时间值,通过这个程序可以反映出提问网友VD0数据可能出现的一些问题。

本着将弄清问题的想法,我思索着做这么一些程序段来验证这个间隔定时器的工作机制。

1)  定义一个定时中断,中断时间为1mS。结果存放到VW102(VB102)

2)  按在线帮助文档写一个间隔定时器应用程序。结果存放到VD4(VB6)

3)  按网友的思路单独调用BGN_ITIME指令,来测试这些定时器的差值。结果存放到VD8(VB10)

程序:

VB102 = 5S;VB6 = 5S;VB10 = 14S。

在测试程序的开始,将所使用到的数据初始化后,再调用的,每一次测试的数据均自0数据开始。但是,测试的结果均是单独的BGN_ITIME指令误差与其它2个指令的时间数据均要大,其根本原因当然是程序的扫描周期有关了。

几次的测试结果,图示:

VB102 = 23S;VB6 = 23S;VB10 = 196S。

测试结果,按在线帮助应用的指令间隔时间比较接近于中断定时器的时间,说明能够比较客观反应其真实的时间记录,而单独应用BGN_ITIME指令的时间已经无法确保它应有的精准性了。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8941条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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