试题详情
- 简答题如何在多例兼容功能块中找到变量地址?
-
在多例兼容功能块中,为块参数和静态本地数据加载与地址寄存器AR2有关的绝对地址。如果要在情景数据块中找到变量的绝对地址,则必须把域内指针(只是AR2的地址)加载到变量地址。
样例:
TAR2//将地址寄存器加载到累加器AC1(偏移量)
UDDW#16#00FF_FFFF//关闭区域ID
LP##variable//加载变量地址
+D//增加偏移量和变量地址
LAR1//保存地址寄存器AR1中的结果
这样可在AR1中获得绝对地址以进行进一步处理。
当功能块作为本地实例调用时,总要使用该方法。比如,在一个功能块中创建可做为类型“FB”的静态变量的功能块。这样所调用的情景数据块的数据偏移量就存储到情景数据块中。单个实例的偏移量在AR2中。如果不调用作为本地实例的功能块,则可以结束计算。值‘0’就在地址寄存器中。
注意事项:如果改变程序中的地址寄存器AR2,那么也改变了变量的偏移量地址。因此就不能保证再对变量进行正确访问。在这种情况下,必须预先保存AR2,并在对程序动作完之后将其复位为初始状态。
样例:
TAR2//在累加器中加载偏移量地址
T#save//比如,静态本地数据域0中的变量
LDID0//地址绝对是由DI加载的bedsLAR2//核对 关注下方微信公众号,在线模考后查看
热门试题
- 列属于基本指令的是()
- 利用()可以延长网络距离,增加接入网络的
- 与中断服务程序有关的计算任务,为何会偶尔
- 以将2线制传感器连接到紧凑型CPU的模拟
- 高速计数器如何复位到0?
- CPU22系列PLC的用户程序下载后放在
- AC是哪个存储器的标识符。()
- STEP7中相关时间处理和转换的功能块有
- 按INSTR若程序中存在某一线路上的错误
- 以314C为例计数时如何清计数器值?
- 双字循环移位指令的操作数N指移位位数,要
- SM36.7是HSC0的当前值大于预置值
- 何谓复合联锁?
- ()回路的管线尽量避免与可编程序控制器输
- PID输出总是输出很大的值,并在这一区间
- PC/PPI电缆是否可以延长?
- 存储器容量是指PC系统程序存储器的容量。
- 间接寻址是通过地址指针来存取存储器中的数
- 系统管理程序的主要功能是管理程序的执行和
- 模拟量信号的传输距离有多远?