西门子 plc 移位寄存器指令

2022-03-23 浏览次数:346
西门子 plc 移位寄存器指令
?  移位寄存器指令 SHRB 是将 DATA 数值移入移位寄存器。S_BIT *移位寄存器的较低位。N *移位寄存器的长度和移位方向(移位加  =N,移位减 = -N)。移位寄存器的较大长度是 64 位的,可以正也可以负。我们要注意的是 SHRB 指令移出的每个位是被放置在溢出内存位(SM1.1)中的。
?  下面便以以下的程序来讲解指令的使用,用 I0.2 的上升沿来执行移位寄存器指令,那幺就是一个扫描周期移一位的,指令中 V100.0 是移位寄存器的较低位,I0.3 里面存的是 0 或 1 的数值,指令*是移位加的,移位寄存器的长度是 4。我们结合下面的时序图和移位的图来看,若 V100 为 00000101,因为移位寄存器的长度是 4,那幺只有 0101,当 I0.3 为 1 时,执行**次移位,把 1 移到移位寄存器的较低位,把移出的位的值 0 放置到 SM1.1中,那幺 SM1.1 为 0,当 I0.3 为 0 时,执行*二次移位,把 0 移到移位寄存器的较低位,把移出的位的值 1 放置到 SM1.1 中,那幺 SM1.1 为 1。
?  在顺序控制或步进控制中,应用移位寄存器编程是很方便的,移位寄存器指令。
?  1)移位寄存器有 3 个数据输入端:
?  DATA:移位寄存器的数据输入端,数据类型为 BOOL(位)。
?  S_BIT:组成移位寄存器的较低位,数据类型为 BOOL(位)。
?  N:移位寄存器的长度和移位方向,-64 小于等于 N 小于等于 64,当N  》0 时为正向移位(从移位寄存器的较低位移入,由较高位移出),当 N《0 时为反向移位(从移位寄存器的较高位移入,由较低位移出)。
?  2)移位寄存器的特点:
?  -移位寄存器的数据类型无字节型、字型、双字型之分,移位寄存器的长度 N 由程序*。
?  -移位寄存器的组成:
?  较低位为:S_BIT;
?  较高位的计算方法为:MSB=S_BIT+(|N|-1)/8。S7-200 的编址均为8 进制,相加时要字节和字节相加,位和位相加,并且逢 8 进 1;例如:
?  S_BIT= V23.4,N=15,则 MSB= V23.4+(15-1)/8=
?  移位寄存器的组成:V23.4~V23.7、V24.0~V24.7、V25.0、V25.1、V25.2,共 15 位。
?  -移位寄存器指令的功能是:当允许输入端 EN 有效时,如果 N》0,则将移位数据 DATA 填入移位寄存器的较低位(S_BIT);如果 N《0,则填入到移位寄存器的较高位,移位寄存器的其他位按照 N *的方向(正向或反向),依次串行移位。
?  -移位寄存器的移出端与 SM1.1(溢出)连接。
?  移位寄存器指令影响的特殊继电器:SM1.0(零),SM1.1(溢出)。当移位操作结果为 0 时,SM1.0 自动置位;SM1.1 的状态由每次移出位的状态决定。
?  影响允许输出 ENO 正常工作的出错条件为:SM4.3(运行时间)、0006(间接寻址),0091(操作数**界),0092(计数区错误)。

qgnojq.cn.b2b168.com/m/
联系我们

在线客服: 13795289873

联系人:李经理

联系电话: 13795289873