相对来说,S7-300/400的移位指令的功能没有S7-200强,它的特点如下:
①S7-300/400只能进行整数I、双字长整数DI的右移,字或双字的左、右移动,双字的循环移动共8种移位操作。
②S7-300/400的移位只能通过累加器1进行,当存储器需要移位时,应首先将存储器的内容移动到累加器1中。
③S7-300/400的移位操作只能对字、双字长的数据进行,不能用于字节。
④对于整数I、双字长整数DI,只能进行右移操作,数据被移出后的“空位”自动连续补入符号位的状态(正数为“O”、负数为“1”)。
⑤被移出的最后一位状态被保存在状态字的CC1位中。
⑥移位位数N可以采用如下两种方式指定:
——在指令中直接指定位数;
——如果在指令中未指定位数,以累加器2的低字节存储值作为移动位数。
S7-300/400移位指令的梯形图编程格式如图10-5.4所示。
①S7-300/400只能进行整数I、双字长整数DI的右移,字或双字的左、右移动,双字的循环移动共8种移位操作。
②S7-300/400的移位只能通过累加器1进行,当存储器需要移位时,应首先将存储器的内容移动到累加器1中。
③S7-300/400的移位操作只能对字、双字长的数据进行,不能用于字节。
④对于整数I、双字长整数DI,只能进行右移操作,数据被移出后的“空位”自动连续补入符号位的状态(正数为“O”、负数为“1”)。
⑤被移出的最后一位状态被保存在状态字的CC1位中。
⑥移位位数N可以采用如下两种方式指定:
——在指令中直接指定位数;
——如果在指令中未指定位数,以累加器2的低字节存储值作为移动位数。
S7-300/400移位指令的梯形图编程格式如图10-5.4所示。