S7-200cpu允许使用指针对下述存储区进行间接寻址:I,Q,V,M,S,T和C
但不能对独立的位或模拟量进行间接寻址
指针为双字值,用来存放另一个存储器的地址,只能用V,L或累加器AC1,AC2和AC3作指针
为了生成指针,必须用双字传送指令(MOVD)将某个位置的地址移入另一个位置或累加器作为指针
MOVD&VB200,AC1MOVW*AC1,AC0对指令的操作数的指定方式,我将其理解为“寻址”
在程序中绝大部分的指令都带有操作数,所谓的操作数,是执行这一指令时被这一指令加以操作、处理的数值
对指令的操作数的指令方式大致的总结一下,可以概括为如下几个类型:1:指令的操作数为“立即数”,(如:15、16#F、2#1111等、、、、、、)
0MOVW+255,VW0+I+45,VW0这是一条加法指令,被加数为:255、加数为45执行这条指令后计算出来的“和”存放在VW0这一存储器内
0MOVB15,VB0这是一条传指令,译为:将15传送至存储器VB0内
2:指令的操作数没有直接的给出,而是给出它所在的地址
0MOVWVW0,VW4-IVW2,VW4这是一条减法指令,译为:将存储器VW0内的数值减去存储器VW2内的数值,将“差”存放在存储器VW4内
3:指令的操作数没有直接的给出,而是给出它所在的地址的“地址”,在S7-200中,将这种寻址方式称之为“指针寻址”
下面,我们一起来学习一下关于指针的使用方法:在使用指针进行间接寻址的过程中,会涉及到的两个符号:&:建立指针(进行间接访问的区域)*:读取指针(读取指针间接指定的地址)下面是使用指针的一般步骤:1:建立指针建立指针需要使用双字传送指令,如下所示:LDM0
0MOVD&MB0,VD10译为:在VD10建立指针,指针指向被间接访问的首地址MB0
在建立指针时需要注意如下几个问题:①可以进行