回复:200smart子程序的TEMP变量如何正确使用?

已锁定

sangshunyang

  • 帖子

    618
  • 精华

    4
  • 被关注

    39

论坛等级:侠圣

注册时间:2017-02-14

白金 白金 如何晋级?

发布于 2020-01-13 17:43:21

15楼

展开查看
以下是引用yanxiao在2020-01-11 09:28:33的发言 >10楼:任何变量都要遵守先赋值后使用,除非对其中的值没有价值的情况,可以不赋值。 有些变量看似没有赋值就可以使用。比如作为V区的全局变量。这个初值可以在下载程序时确定,也可以利用PLC的清零规则确定。 对于全局变量,变量的分配是可控的,且是编程者有意安排的,所以使用上清楚明白。 但是,临时变量,重点在‘临时’。临时变量在没有赋值前,也是有一个值的,只是这个值是什么,有没有价值,你无法把握。就因为它是临时使用,用完后系统会回收,用于别的用途,当第二回来再用时,已经物是人非了。

这个需要探讨,最后一行。


可能是这个情况:

真对smart S7-200,一个子程序系统分配会分配64字节的存储空间,不会因调用不调用而丢失或重新分配,保存上一次调用后的值,不管是输入,输出,还是 临时类型的变量,也就是说这64字节就是给这个子程序的,用户可访问的是60个字节。

我做个测试,主程序,子程序如下:


1,主程序

子程序:



测试过程:

      主程序中先让M1.0    M0.0 接通  而后让 M0.0 断开。 

接下来让M1.0 接通  断开,接通断开多次(此时M0.0始终是0)。无论M1.0通断多少次  M0.1始终输出  1.


如下图:


  


说明程序中除晒出的代码没有其他任何代码


测试结果是 : 临时变量 LW1值不会随程序的调用次数而改变。是保留的上次调用的结果。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8938条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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