回复:应用探讨——如何最大化利用 PLC CPU 资源

新湖长

西门子1847工业学习平台

  • 帖子

    573
  • 精华

    15
  • 被关注

    14

论坛等级:侠圣

注册时间:2010-02-10

黄金 黄金 如何晋级?

发布于 2013-01-14 21:23:31

30楼

quote:以下是引用凡烨在2013-01-14 09:32:37的发言:
quote:以下是引用七色阳光在2013-01-12 22:39:49的发言:
在上面的这个程序中反应的应该是在一个扫描周期中数据一致性的问题。
大家可以看看400的手册中关于400的周期响应时间,在资料中介绍400的用户程序是靠时间片来管理的,而每个时间片分为用户程序,通讯和系统操作三个部分,400不是在周期控制点处处理通讯而是在固定的时间片执行,因此在400中通讯是可以中断用户程序的,而这个中断是可以在任何指令后执行,当中断执行后数据就可以被修改,因此在400中数据就有可能并不一致。这就是400为什么能够使M100.1置位的理论依据。
使用 S7-300 CPU 时,在周期控制点处将通过 OP/TP(操作员控制和监视功能)单独访
问数据(有关数据一致性,请参见技术规范)。 程序执行不会*作员监控功能中断。不能是M100.1置位。
置于实际如何操作,需不需要在硬件中配置什么功能才会使M100.1置位需要大家继续讨论和实践。
通讯负载可以影响扫描周期,而通讯负载是如何影响扫描周期的大家可以看看下面的文档。
http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=5934&loginID=&srno=&sendtime=

七色阳光的回答很准确啊!我再补充一下:)
通过这个程序,大家可以看到400CPU和300CPU本质的不同。其实大家用300/400PLC这么多年,可能也没有想过他们有什么本质的不同,尺寸,大小,背板,多了两个累加器都不是本质的不同。其实他们的循环周期,存在本质的不同,这就是不同。在这里还要感谢403,感谢他给我们带来的实验结果。
那么通过循环周期,他们的不同我们*看的本质不同,即在于他们的通信机制不同。其实我们在通过PG进行赋值时,就是PG与PLC进行通信。PG与300进行赋值时(通信时),数值没有立刻传输到300PLC测,因为300和PG还没有进行通信,数值仍然在PG侧缓存,直到延时时间到,300才和CPU进行通信,也就是在CCP的时候进行数据交换。而CCP在每一个循环周期的结尾,重新开始的循环,肯定会使MW12=MW10。这就是大家看到的300中从没有M100.1进行置位的根本原因!
这里补充说明的是PLCSIM仅仅反映逻辑运算,不能真正的表达实际物理硬件的运算结果,这就是其中的一个例子。
好了,下面我描述一下为什么400可以使M100.1置1?与300本质的不同,PG的赋值不会被缓存,因为和400的通信是立刻发生的。也就是在400运行其应用程序的时候,为了能让大家看得清,设置了延时程序,其实400也不是每次都使M100.1置位,这也是为什么我设置了延时时间,越长你能看的越清楚。这里我需要阐述一个重要的概念即时间片,你可以理解应用程序运行的时间分成若干段,每一段叫做时间片。在时间片内除了程序运行,还有操作系统,以及通信,这里的通信的例子就是我们的实验。现在大家是否明白了。
我希望大家多多参与,能多多理解,这样我好进行下面的话题。大家加油啊!我会在15号下午3点和大家进行互动,届时我会抛出第二个我们要讨论的话题。谢谢大家~~~
补充一句,当大家对这一系列话题掌握后,您可以解决或者说明很多的西门子PLC的疑难杂症哦。

学习~
哪有狂澜不能力挽
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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