西门子plc移位寄存器指令 您所在的位置:网站首页 shrb指令的用法 西门子plc移位寄存器指令

西门子plc移位寄存器指令

2023-04-15 15:55| 来源: 网络整理| 查看: 265

西门子plc移位寄存器指令

时间:2018-01-25 11:03:02来源:网络转载

导语:​西门子plc移位寄存器指令SHRB是将DATA数值移入移位寄存器。

西门子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。

西门子plc移位寄存器指令

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

西门子plc移位寄存器指令

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(计数区错误)。

【例】移位寄存器指令的应用如图所示。

西门子plc移位寄存器指令

下面再看一个程序案例,更深入地来学习一下这个移位寄存器指令。

1、产品检测分拣机,输送带上的产品经过一台检测装置时,检测装置输出检测结果到I0.0,有产品时为1。I0.1检测产品的好坏,若I0.1为0则产品是好的,若I0.1为1则产品是坏的。在第4个产品位置有一个推产品的气缸Q0.0。若检测的产品为坏时,到达第4个产品位置时,Q0.0输出,气缸动作,产品被推出,1s后气缸退回,传送带继续工作,进行产品的检测。

西门子plc移位寄存器指令

下面就分析一下程序,检测装置检测到有产品时I0.0为1,I0.1检测产品的好坏,产品坏为1,指定移位寄存器的最低位为M0.0,移位寄存器的长度为4。因为在第4个产品位置有一个气缸Q0.0,若I0.1为1时,到达第4个产品位置时,那么就用M0.3驱动气缸动作,推出产品,同时做了一个定时器定时1s,1s后复位M0.3,气缸退回。

移位寄存器位指令的形式

西门子plc移位寄存器指令

指令的功能:

西门子plc移位寄存器指令

移位寄存器位(SHRB)指令将DATA数值移入移位寄存器。S_BIT指定移位寄存器的最低位。N指定移位寄存器的长度和移位方向(当N是正的,从低位移到高位,当N是负数,就从高位移到低位)。SHRB指令移出的每个位被放置在溢出内存位(SM1.1)中。该指令由最低位(S_BIT)和长度(N)指定的位数定义。

注:已知最低位,计算最高位的方法:MSB.b=[(S_BIT字节)+([N]-1+(S_BIT位))/8]·[被8除的余数]

例如:如果S_BIT的字节和位分别是V33和4,N是14,以下计算显示MSB.b是V35.1。

MSB.b=V33+([14]-1+4)/8

=V33+17/8

=V33+2,余数为1

=V35.1

标签:

点赞

分享到:

上一篇:plc移位寄存器指令的应用

下一篇:PLC设计与调试问题

中国传动网版权与免责声明:凡本网注明[来源:中国传动网]的所有文字、图片、音视和视频文件,版权均为中国传动网(www.chuandong.com)独家所有。如需转载请与0755-82949061联系。任何媒体、网站或个人转载使用时须注明来源“中国传动网”,违反者本网将追究其法律责任。

本网转载并注明其他来源的稿件,均来自互联网或业内投稿人士,版权属于原版权人。转载请保留稿件来源及作者,禁止擅自篡改,违者自负版权法律责任。

相关资讯

PLC对机器人干涉区的控制和互锁信号控制PLC控制原理:4个基本控制电路设计实例西门子软PLC:虚拟工控仿真与SCADA系统实践9个PLC程序调试及结果分析介绍plc控制相关实验和控制技术分析PLC控制伺服电机的三种方式


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有