回复:还是顺序执行功能的编程方法,求助

沉年c

西门子1847工业学习平台

  • 帖子

    47
  • 精华

    0
  • 被关注

    2

论坛等级:游侠

注册时间:2017-10-10

普通 普通 如何晋级?

发布于 2018-08-12 09:33:44

2楼

具体楼主需要看下帮助,上升沿指令下面的bool变量是保存上次查询时的信号状态,而非上个扫描周期的状态,本身是每个扫描周期结束时查询一次,然后记入到这个bool变量里,但是你的程序里在一个扫描周期内查询了三次,第一次查询时(也就是程序段2时),i0.1已经是1了,然后将1存入m20.5,到程序段3时,m20.5为1,i0.1为1,已经不符合上升沿的条件了(i0.1为1,m20.5为0,此时上升沿接通),没有接通。

也就是说当程序中不同地方都要使用i0.1的上升沿时,指令下面的地址要不同,这样才能保证所有的上升沿指令有效。

解释好问题之后要好好解答一下,楼主的程序有问题,当i0.1的上升沿都起效果时,程序先执行程序段2,使得int变量步值加一,此时步=1,然后执行程序段2,因为此时步的值就是1,程序段3也接通,继续执行累加程序,执行完后步值=2,然后继续执行程序段4,此时步值=2,上升沿也接通,所以继续执行,传送0给步的程序,最后步值=0。楼主在重新想想怎么改程序吧。


宝剑尚未配齐,确已身入江湖
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15117条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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