举个例子,探讨局域变量!

已锁定

zgd211

  • 帖子

    497
  • 精华

    0
  • 被关注

    3

论坛等级:侠士

注册时间:2006-11-08

普通 普通 如何晋级?

举个例子,探讨局域变量!

583

7

2007-11-19 09:09:11

局域变量经常困扰一些人士,下面举个简单例子!
如下面的例子:(在OB1中调用FC1,下面为FC1的程序,同时假设其它块没有写M0.2的语句);
A M0.1
= L0.1
call FC2
A L0.1
= M0.2

A L0.1
= M0.2
call FC2
A M0.1
= L0.1
当M0.1为1时,m0.2的结果第1个程序为1,而第2个程序却为0,即他们的执行结果是不一样的,(注意他们的语句内容一样,但1,2和4,5行对调),原因为本程序中使用了局域变量,局域变量在调用完后,无记忆能力。而对于第1个程序在调用FC2时离开过FC1,因为调用其它块时块会有临时存储区。(虽然第一个程序因为调用FC2时也有离开过FC1,同时在运行第一个程序时,如果有硬件中断或其它中断,也是不会影响其执行结果的,道理同上)
举个例子,探讨局域变量! 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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