西门子plc移位寄存器指令

西门子plc移位寄存器指令,第1张

  移位寄存器指令SHRB是将DATA数值移入移位寄存器。S_BIT指定移位寄存器的最低位。N指定移位寄存器的长度和移位方向(移位加 = N,移位减 = -N)。移位寄存器的最大长度是64位的,可以正也可以负。我们要注意的是SHRB指令移出的每个位是被放置在溢出内存位(SM1.1)中的。

  下面便以以下的程序来讲解指令的使用,用I0.2的上升沿来执行移位寄存器指令,那么就是一个扫描周期移一位的,指令中V100.0是移位寄存器的最低位,I0.3里面存的是0或1的数值,指令指定是移位加的,移位寄存器的长度是4。我们结合下面的时序图和移位的图来看,若V100为0000 0101,因为移位寄存器的长度是4,那么只有0101,当I0.3为1时,执行第一次移位,把1移到移位寄存器的最低位,把移出的位的值0放置到SM1.1中,那么SM1.1为0,当I0.3为0时,执行第二次移位,把0移到移位寄存器的最低位,把移出的位的值1放置到SM1.1中,那么SM1.1为1。

  西门子plc移位寄存器指令,西门子plc移位寄存器指令,第2张

  在顺序控制或步进控制中,应用移位寄存器编程是很方便的,移位寄存器指令如图所示。

 西门子plc移位寄存器指令,西门子plc移位寄存器指令,第3张

  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=西门子plc移位寄存器指令,第4张

  移位寄存器的组成: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(计数区错误)。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2717931.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存