当前位置: 主页 > PLC控制

FC块中的临时变量(TEMP)怎么理解?

使用软件博图V11

查找资料关于FC块中临时变量

个人理解:FC块中的临时变量属于区域变量。

(1)区域变量只能在所属的程序块(OB、FC、fb)范围内调用,在程序块调用时有效,程序块调用完成后释放,所以不能被其它程序块使用,本地数据区(L)中的变量为区域变量,例如每个程序块中的临时变量都属于区域变量。

(2)FC块中的临时变量是做中间变量使用的,利用临时变量不占用系统资源。

根据这句话的理解:“在程序块调用时有效,程序块调用完成后释放”
可不可以理解为:当我在FC块中定义一个临时的字变量,在调用FC块时,传送数字到这个临时的字变量中,当我结束调用FC块时,该临时变量中的值清零。

实验结果:
与猜想结果不符,无论是位临时变量还是字临时变量,在FC调用结束后,均保持最后的状态。

个人觉得FC块中的临时变量更趋向于(2)描述中的用法。

想请教各位师傅,我对临时变量的理解有没有问题。还有临时变量应用的例子,怎样应用才能更好的体现出临时变量的用途?

问题补充:
感谢各位网友的回答,我图片2中的文字打错了,“FB块程序”应该是“FC块程序”

图片说明:

302bd225d4313aa3e7CEd298fa080bd9FC块中的临时变量(TEMP)怎么理解? FC块中的临时变量(TEMP)怎么理解?FC块中的临时变量(TEMP)怎么理解?

最佳答案

你没理解彻底。“程序块调用完成后释放”并不是说对该临时变量清零,而是把地址释放了,这就是为什么说临时变量不占用系统资源的原因。临时变量的值还是存在的,存储在对应的V区中。在块中使用临时变量时都说“先赋值,再使用”,就是防止直接使用临时变量的地址中含有数值。

提问者对于答案的评价:
感谢各位网友的回答,特别是“-我心飞翔-”大师傅,解决了我很多问题。在“程序块调用完成后释放”的问题上有很多资料描述都很含糊,有些资料甚至描述为调用结束后就清零,但实际上仅仅是将本地数据区(L)的地址释放,释放后的地址又可以被其它临时变量调用,但是在这些地址中的数据不会被清零。同一个临时变量每次调用被分配的地址都不同。

  • 关注微信

猜你喜欢

微信公众号