回复:PLC扫描循环体是如何执行的?

牛皮不是吹的

  • 帖子

    243
  • 精华

    2
  • 被关注

    3

论坛等级:侠士

注册时间:2011-10-15

普通 普通 如何晋级?

发布于 2013-08-07 12:28:55

6楼

因为你没有写出来程序代码所以你说的和想的可能不同。
你的思想1:fc1中:

L MW100
L 100
<=I
JCN M1
CALL FC1
L MW100
L 1
+I
T MW100
M1:NOP 0
思想2:在fc1中:
L 0
T MW100
A00:L MW100
L 100
<=I
JCN M1
CALL FC1
L MW100
L 1
+I
T MW100
LOOP A00
思想1,在ob1的一个周期内调用fc1一次,思想2中ob1的一个周期内调用fc1一百零一次。


这个程序简单,看起来倒是没不怎么难,关键,有没有办法仿真下,让人能知道到底是不是上面说的那样那?难道有些指令就决定了是不是一个扫描周期就能完成的吗?如LOOP,那么别的那?如,CASE ,FOR,GOTO,等等,用了这些就是在一个周期就可以实现的吗?

而且我对上面的程序有异议,
思想1中明显是个条件语句,并不是循环语句,条件满足则执行,不满足则跳出,就算一直满足,也只执行一次就跳转出去,等下个周期扫描到该处,再执行一次,如此反复执行,直到条件不满足,跳过。

思想2中明明用了LOOP指令,也就是说它是实实在在的循环指令,为什么要用101个扫描周期,而不用一个扫描周期,那这样的循环如果和IF语句的用法没区别的话,为什么还要说LOOP是循环语句那?

所以我觉得逻辑还是有点混乱的,概念还是有点问题,呵呵!求驳斥辩解,谢谢!
每天进步一点点,成功源于积累!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54778条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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