中自网

热门搜索:PID  plc  传感器  电机  变频器  工业以太网  无线通讯  低压 

当前位置:首页>>应用案例首页>>技术指导>>正文

松下PLC中数据移位指令解析

发布日期:2014-09-12   来源:松下PLC编程与应用   作者:机械工业出版社   浏览次数:48880
分享到:
【摘   要】:  数据移位指令是用于对存储单元或存储区域以二进制、十六进制或以字为单位进行左/右移位的指令,包括F100(SHR)、F101(SHL

  数据移位指令是用于对存储单元或存储区域以二进制、十六进制或以字为单位进行左/右移位的指令,包括F100(SHR)、F101(SHL)、F105(BSR)、F106(BSL)、F110(WSHR)、F111(WSHL)、F112(WBSR)和F113(WBSL)等8条指令,如表3-104所示,下面分别予以介绍。
 
  1.F100(SHR)
 
F100(SHR)是将16位二进制数右移n位的指令,其功能是将D指定的16位二进制数右移n位。数据右移n位后,最后一位移出的数据(位地址为n-1)传送到进位标志R9009…中,D中的16位存储单元的最高n位为0,指令格式及操作数范围如表3-105所示。 
 
    当触发信号X0接通时,数据寄存器DT0中的数据被右移6位,数据右移后,位地址5的数据传送到特殊内部继电器R9009(进位标志)中,DT0的高6位为0,如图3-73所示。


  2. F101(SHL)
 
  F101(SHL)是将16位二进制数左移n位的指令,其功能是将D指定的16位二进制数左移n位。数据左移n位后,最后一位移出的数据(位地址为16-n)传送到进位标志R9009中,而D中从位地址0开始的最低n位为0,指令格式及操作数范围如表3-106所示。
 
  当触发信号X0接通时,数据寄存器DT0中的数据被左移4位。数据左移后,最后一位移出的数据(位地址为12)传送到特殊内部继电器R9009(进位标志)中,DT0的低4位为0,如图3-74所示。

  3. F105(BSR)
 
  F105(BSR)是将十六进制数右移一位的指令,其功能是将D指定的十六进制数右移一位。数据右移后,D中十六进制数的最低位(4位二进制)的数据移出,并传送到特殊数据寄存器DT90014的最低4位中,D中的十六进制最高位(4位二进制)为0,指令格式及操作数范围如表3-107所示。
 
  当触发信号X0接通时,将DT0中的4位十六进制数右移一位(4位二进制)。数据右移后,十六进制位地址0(二进制0~3位)的数据移出,并传送到特殊数据寄存器DT90014的低4位中,DT0的最高位(二进制12~15位)为0,如图3-75所示。

  5. F110(WSHR)
 
  F110(WSHR)是将一个数据块(数据存储区域)右移一个字单元的指令,其功能是将首单元D1和末单元D2规定的数据区右移一个字。数据右移后,首单元D1的数据移出,末单元D2的数据变为0,首单元D1和末单元D2必须为同一类型的操作数,且D1≤D2,指令格式及操作数范围如表3-109所示。

当X0接通时,从数据寄存器DT0到DT3的数据存储区域右移一个字(16位二进制)。数据右移后,首单元DT0中的数据移出,末单元DT3的数据全为0,如图3-77所示。

  6. F111(WSHL)
 
  F111(WSHL)是将一个数据块(数据存储区域)左移一个字的指令,其功能是将首单元D1和末单元D2规定的数据区左移一个字。数据左移后,末单元D2的数据移出,首单元D1的数据变为0,首单元D1和末单元D2必须为同一类型的操作数,且D1≤D2,指令格式及操作数范围如表3-110所示。
表3-110 指令格式及操作数范围

当触发信号X0接通时,从DT0到DT3的数据存储区域左移一个字(16位二进制)。数据左移后,末单元DT3中的数据移出,首单元DT0的数据全为0,如图3-78所示。

  7. F112(WBSR)
 
  F112(WBSR)是将一个数据块(数据存储区域)中的十六进制数右移一位的指令,其功能是将首单元D1到末单元D2规定的数据块中的十六进制数右移一位(4位二进制)。数据右移后,首单元D1中的最低位(4位二进制)数据移出,末单元D2中的最高位(4位二进制)数据变为0,首单元D1和末单元D2必须为同一类型的操作数,而且要求D1≤D2,指令格式及操作数范围如表3-111所示。
 
  当触发信号X0接通时,从数据寄存器DT0到DT3的数据存储区域中的十六进制数右移一位(4位二进制)。数据右移后,首单元DT0中的最低位(4位二进制)数据移出,末单元DT3中的最高位(4位二进制)数据变为0,如图3-79所示。

  8. F113(WBSL)
 
  F113(WBSL)是将一个数据块(数据存储区域)中的十六进制数左移一位的指令,其功能是将首单元D1到末单元D2规定的数据块中十六进制数左移一位(4位二进制)。数据左移后,末单元D2中的最高位(4位二进制)数据移出,首单元D1中的最低位(4位二进制)数据变为0,首单元D1和末单元D2必须为同一类型的操作数,且D1≤D2,指令 格式及操作数范围如表3-112所示。

当触发信号X0接通时,将从数据寄存器DT0到DT3的数据存储区域中的十六进制数左移一位(4位二进制)。数据左移后,末单元DT3中的最高位(4位二进制)数据移出,首单元DT0中的最低位(4位二进制)数据变为0,如图3-80所示。

 

 
 
 
 
 
 
 
 
[ 应用案例搜索 ]  [ ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]  [ 返回顶部 ]

0条 [查看全部]  网友评论