回复:问一个比较浅的问题,局部变量的问题。

youhm

  • 帖子

    4924
  • 精华

    81
  • 被关注

    51

论坛等级:至圣

注册时间:2008-06-28

普通 普通 如何晋级?

发布于 2012-02-05 19:46:46

7楼

quote:以下是引用question在2012-02-05 14:14:35的发言:
我在OB1里写了这么个程序:
A I1.2
JNB NEXT
CAL FC1
START:=I1.0
STOP:=I1.1
RUN:=Q1.0
BEU
NEXT:NOP 0
把i1.2置1后,fc1执行,置i1.0,q1.0有输出,然后把i1.2置0,不调用fc1,发现q1.0仍有输出。说明输出是可以保持的,只要不被复位。但同时也有个新的疑问,在块不被调用的时候,怎么来保证被调用的块里的输出是0能,是不是要对输出位做个复位程序?

当然你这里没有涉及到临时变量,FC的参数使用I、Q等区域实际在FC里访问形参实际就是访问的真实的地址,和临时变量使用无关。
当块不被调用时,块里的代码不会被扫描处理,所以输出会保持,所以如你所想,要实现某些目的你需要在主程序里处理。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54620条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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