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

冯学卫

官方工程师 西门子1847工业学习平台

  • 帖子

    176
  • 精华

    42
  • 被关注

    255

论坛等级:侠圣

注册时间:2007-08-03

普通 普通 如何晋级?

发布于 2013-01-10 21:02:54

17楼

quote:以下是引用403在2013-01-10 09:53:00的发言:
还有一个问题,JMP必须放在LABEL前面或者同行吗?我试试一下,JMP放在LABEL后面,出现死循环,达到最大循环设定值?

用LAD编写的这段程序与前面用STL编写的程序实现的是同样的功能。我给大家解释一下程序:

LAD的网络1:把MW10中的值赋值给MW12;给MW2中赋值为0。
LAD的网络2:如果MW2中的值小于100,就执行程序延时执行20ms。延时20ms后给MW2中的值加1后让程序跳转回到网络2的起始部分重新执行,如此往复让网络2执行100次,也就是让程序延时执行20ms*100=2000ms
。换句话网络2总体让让程序执行延时2s.
LAD的网络3:当程序延时2s后,比较MW10与MW12中的值,如果不相等,就置位M100.1。
也就意味着程序执行一个循环周期就需要2s多的时间。此过程循环执行。若在循环执行的过程中修改MW10中的值。若此修改的时间点正好是在延时的2s这段时间内,就会造成MW10与MW12中的值不相等,M100.1就会被置位。若修改的时间点在程序循环的开始,那么MW10就会与MW20的值相等,M100.1就不会被置位。
现在我们想让大家测试一下此程序在S7-300的CPU与S7-400的CPU里分别执行。从变量监控里会得到同样的结果吗?若不一样,寻找一下原因。(注意,这是个动态的过程,需要大家测试时不断修改MW10中的值,看M100.1是否被置位)。
------------来自西门子工程师
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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