一、变址寄存器[V、Z]
变址寄存器V与Z两者功能完全一样。
同普通的数据寄存器一样,可进行数值数据的读入、写出的数据寄存器。
在应用指令的操作数中,变址寄存器还可以同其他的软元件编号或数值组合使用,效果为在程序中改变元件编号或数值内容,是一个特殊寄存器。
注意LD,AND,OUT等PLC的基本顺控指令或步进梯形图指令的软元件编号不能同变址寄存器组合使用。
变址寄存器V和Z均可做16位或32位寄存器使用,根据其调用指令的位数决定它的数据类型。当作为32位寄存器使用时,将连续占用2个相邻地址的变址寄存器。例如V2(L),占用V2/V3两个16位变址寄存器。
1、变址寄存器的编号
变址寄存器[V、Z]的编号如下所示。(编号以10进制数分配)
2、变址寄存器的构造
● 处理数值的范围(10进制)
16位:-32768~32767
32位:-2147483648~2147483647
以两个相邻变址寄存器表现32位的数据。对于将V0作为32位寄存器的结构如下(占用V1寄存器):
变址寄存器V、Z在指定32位时,如果指定了低位,则高位为继其之后的编号被自动占用(例如:指定了低位V0,则V1自动被占用)。低位可用奇数或偶数的任意一种软元件编号指定,建议低位采用偶数编号。
3、功能和动作说明
可能变址的软
● 10进制数的软元件、数值:M,S,T,C,D,KnM,KnS,P,K
例如,V0=K5,执行D1020V0时,被执行的软元件的编号为D1025(D1020+5)。此外,也可变更常数值。例如,指定K30V0时,被执行的是作为10进制数的数值K35(K30+5)。
● 8进制数的软元件:X,Y,KnX,KnY
例如,Z1=K8,执行X000Z1时,被执行的软元件编号为X010(X0+8:8进制数加法)。对于软元件编号为8进制数的软元件变址来说,V,Z的内容要被换算成8进制数,然后做加法运算。因此,假定Z1=K10,X000Z1被指定为X012,请务必注意此数不是X010。
● 16进制的数值:H
例如:以V5=K30指定常数H30V5,则被认为是H4E(30H+K30)。此外,以V5=H30指定常数H30V5,则被认为是H60(30H+30H)。
注意:
* 在使用
* 常数变址为环形的加减法运算:
执行16位指令时,K32767V0,V0=1,结果为K-32768;K-32768V0,V0=-1,结果为K32767。
执行32位指令时,K32767V0,V0=1,结果为K32768;K-32768V0,V0=-1,结果为K32767。
执行32位指令时自动占用连续的两个变址寄存器V0、V1,V1为高16位,V0为低16位。
* 执行32位指令时,对应的操作数地址使用变址修饰,仍然以16位软元件地址进行变址。比如D1000V0,当V0为1时,该操作数指向D1001(D1001~D1002这2个16位软元件的组合成32位数据,D1001为低16位,D1002为高16位)。
当软元件本身属性为32位时(比如C200),变址寄存器的值必须为双数,如果为单数,它并不会指向下一个软元件编号,故避免使用变址值为单数修饰本身属性为32位的软元件。
4、程序应用
利用变址功能对不同资源批量赋值
楼主最近还看过