技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > OB块和功能、功能块里的TEMP变量绝对地址的困惑。

OB块和功能、功能块里的TEMP变量绝对地址的困惑。

刘玉蓉 发布于2014-12-12 17:21 558 0 标签:

在网上查看了很多关于临时变量L的解释和使用方法,众说纷纭搞得我一头雾水。有的说临时变量随调用它的块关闭而被丢弃,又有人说是被复位,我觉得这是两个决然不同的结果,“丢弃”不等同“复位”。
FC 和FB的临时变量都是从L0.0开始往后指定的,所以多个FC和FB在OB里调用实际上就会出现绝对地址相互冲突的现象,所以就有了大家在使用临时变量时必须先赋值后调用的要求。
再看OB块里的临时变量的绝对地址好像也是从L0.0开始的,那么这个L0.0和FB.FC里的L0.0是不是一个地址呢?不都是使用的L临时存储区吗?实验结果好像不是同个存储区,它们互不干涉。
在OB块里先把常数0写入LB30,接着调用FC1,在FC1里给L30.1置位,再在FC1后面把LB30写入MB30,我以为结果MB30的值是2,其实MB30的值没变是0,这该做如何理解?还有不同的OB块里的临时变量存储区都是使用的同一L存储区还是每一个分配不同的?为什么它们的绝对地址都是一样的?

问题补充:
我知道如果我在OB块里直接赋值L30.1=1那么MB30的值就会等于2,之所以要在FC里赋值,是想验证FC的L30.1和OB的LB30会不会有冲突,也就是说他们是不是同属一个字节。

佳答案

临时变量不是全局变量,所以就不存在重叠的概念。临时变量就相当于相对地址,全局变量就相当于绝对地址。在地理位置上你可以你的前后左右有什么,这就是相对地址,如果你说经纬度就是绝对地址。你的前后左右和别人的前后左右是不同的,虽然都是前后左后,但如果你说经纬度那就是唯一的地址,

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签