回复:也来谈谈“先赋值后使用”!

幸福的方向

  • 帖子

    227
  • 精华

    0
  • 被关注

    16

论坛等级:侠士

注册时间:2010-04-11

普通 普通 如何晋级?

发布于 2018-01-14 15:11:39

7楼

展开查看
以下是引用Letham在2018-01-14 11:06:40的发言 >5楼

         I10.2=1,此时,Q10.1=Q10.6=Q10.7=1(q10.6和q10.7都受临时变量的影响,而且是受FC2内的临时变量影响,只因为FC2和FB1内的临时变量同名。

临时变量作用范围仅仅是在程序快内部,而已,不同程序块内部的临时变量是否同名没有任何关系。

临时变量在程序快调用结束后,内存会自动释放,所以 如楼上几位所说 ,比如上升沿等需要存储功能的指令是不能使用临时变量的。
当然,临时变量的使用,必须先赋值再使用的原则是不会错的

版主:发现个新情况,我重做了一下试验,为了简便,只做了一个FC1 和一个 FB1, DB为FB1的背景数据块。

FC1内run1为临时变量,FB1内run1也是临时变量。FC1和FB1内程序完全相同。

    OB1内无条件调用FC1和FB1,运行结果却是FC1和FB1内的临时变量是相互影响的。请看以下图片:





从试验结果来看,不同块中的临时变量好像是要相互影响的,怎么回事?

雨过分洼种瓜,旱时饮水浇麻。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54763条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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