第1个回答 2011-09-08
那要看你想怎么用了,例如在实际应用中可以很方便的用来记录产品在工位中的位置,例如检测到一个不良品,每过一个工位就移一次,可以很方便的记录这个不良品到哪里了,需不需要捡出来
第2个回答 推荐于2017-09-04
移位指令包括有符号整数和长整数的的右移指令,无符号字型数据的左移和右移指令,无字符双字型数据的左移和右移指令以及双子的循环左移和右移指令。移位指令是将累加器1中的数据或者累加器低字中的的数据左移或逐位右移,左移相当于累加器的内容乘以2的n次方,右移相当于累加器的内容除以2的n次方(n为指定的移位位数或移位次数)。累加器1中移位后空出的位,填0或符号位。被移动的最后1位保存在状态字的CC1中,可使用条件跳转指令对CC1进行判断。循环移位指令的特点是:移出的空位填以从累加器中移出的位。
位右移SFTR与位左移SFTL指令
SFTR,SFTL:连续执行型指令 SFTRP,SFTLP:脉冲执行型指令
位右移SFTR与位左移SFTL指令编程方式如下:
SFTRP M0 M20 K16 K4
SFTLP M0 M20 K16 K4
*M0:源位元件起始地址,只能是位元件(X,Y,M,S)
*M20:目标位元件起始地址,只能是位元件(Y,M,S)
*K16:目标位元件个数,只能是数值
*K4:移动的个数,只能是数值
实例:
假设M0=ON,M1=ON,M2=OFF,M3=ON
M20---M23都为ON,M24---M27都为OFF,M28---M31都为ON,M32---M35都为OFF
SFTRP M0 M20 K16 K4(M20---M35以四个位为单位向右移动,M20---M23溢出)
执行的结果为:
M20---M23都为OFF,M24---M27都为ON,M28---M31都为OFF,M32=ON(等于M0),M33=ON(等于M1),M34=OFF(等于M2),M35=ON(等于M3)
SFTLP M0 M20 K16 K4(M20---M35以四个位为单位向左移动,M32---M35溢出)
执行的结果为:
M20=ON(等于M0),M21=ON(等于M1),M22=OFF(等于M2),M23=ON(等于M3),M24---M27都为ON,M28---M31都为OFF,M32---M35都为ON。
第3个回答 2011-09-07
移位指令包括有符号整数和长整数的的右移指令,无符号字型数据的左移和右移指令,无字符双字型数据的左移和右移指令以及双子的循环左移和右移指令。移位指令是将累加器1中的数据或者累加器低字中的的数据左移或逐位右移,左移相当于累加器的内容乘以2的n次方,右移相当于累加器的内容除以2的n次方(n为指定的移位位数或移位次数)。累加器1中移位后空出的位,填0或符号位。被移动的最后1位保存在状态字的CC1中,可使用条件跳转指令对CC1进行判断。循环移位指令的特点是:移出的空位填以从累加器中移出的位。本回答被网友采纳