访问变量("迟分配")

如果在网格内读取变量或地址的值,当编译器开始处理网格时,编译器始终使用变量和地址具有的值。

请注意,当变量或地址的值改变然后读取时,意外编程错误经常发生。

这通过以下机制实现:在网格的开头,相关变量的值被复制到临时变量。从临时变量执行所有进一步的读取访问;在原始变量上执行所有写入访问。

示例1:

编辑器

程序代码

描述

LD

[来自临时副本的读取值]产生意外结果。

附加代码,用于将DT768iVariable的值复制到DT769处的临时变量

DT769处的临时变量读取,加5并将其写入DT768处的iVariable

再次从DT769处的临时变量读取,乘以3并将其写入DT768处的iVariable

GR类型编辑器

没有[来自临时副本的读取值]产生意外结果

示例2:

编辑器

程序代码

描述

LD

bOutput[来自临时副本的读取值]产生期望结果

附加代码,用于将R0511bOutput的值复制到R0500处的临时变量

从临时变量R0500读取

GR类型编辑器

没有[来自临时副本的读取值]产生期望结果

最后更新日期: 2019-05-02此页面上的反馈松下热线