样例:
TAR2//将地址寄存器加载到累加器AC1(偏移量)
UDDW#16#00FF_FFFF//关闭区域ID
LP##variable//加载变量地址
+D//增加偏移量和变量地址
LAR1//保存地址寄存器AR1中的结果
这样可在AR1中获得绝对地址以进行进一步处理。
当功能块作为本地实例调用时,总要使用该方法。比如,在一个功能块中创建可做为类型“FB”的静态变量的功能块。这样所调用的情景数据块的数据偏移量就存储到情景数据块中。单个实例的偏移量在AR2中。如果不调用作为本地实例的功能块,则可以结束计算。值‘0’就在地址寄存器中。
注意事项:如果改变程序中的地址寄存器AR2,那么也改变了变量的偏移量地址。因此就不能保证再对变量进行正确访问。在这种情况下,必须预先保存AR2,并在对程序动作完之后将其复位为初始状态。
样例:
TAR2//在累加器中加载偏移量地址
T#save//比如,静态本地数据域0中的变量
LDID0//地址绝对是由DI加载的beds