回复:博图关于(上升沿)在子程序与之程序之间不起作用的问题

已锁定

莎利文

西门子1847工业学习平台

  • 帖子

    143
  • 精华

    7
  • 被关注

    34

论坛等级:侠圣

注册时间:2005-10-24

黄金 黄金 如何晋级?

发布于 2021-08-04 17:14:21

10楼

这个问题与时序没有关系。试判断一下,在【程序段5的#Step.Start 后面串联一个常开(比如M100.0)】你验正一下。第一次是M100.0=0,是否会出现。第2次强制M100.0=1,再看看结果。

问题就出现在#Step.Start,它被触发了。。主要原因是#Step.Start是FB1002的暂存区(也可以称位栈区),关键栈区是公用的,即出了这个程序段FB1002后,这个区会被其他程序段使用,这样是什么逻辑结果就不能确定,主调程序能置位(一直SET,使得#Operation_Man.Hom=1),但是子程序中第4句,#P_TRIGI[20]逻辑会被改变,导致上升沿脉冲有效。【#Step.Start,它被触发】

措施  1.一般TEPM 的栈区的临时变量不建议使用成脉冲语句【子程序第3/4句都有问题,如果一定要用脉冲语句,请改为静态变量Static】。2.临时变量自保的用法也不建议使用【考虑使用Static/IN/OUT型式的变量】。


人情到时文章老,书读深处意气平。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15366条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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