可使用移位指令向左或向右逐位移动输入 IN 的内容(另请参阅 CPU 寄存器)。向左移动 n 位相当于将输入端 IN 的内容乘以 2 的 n 次幂(2 n);向右移动 n 位则相当于将输入端 IN 的内容除以 2 的 n 次幂(2n)。例如,如果将等价于十进制值 3 的二进制数左移 3 位,将得到等价于十进制值 24 的二进制数。
如果将等价于十进制值 16 的二进制数右移 2 位,则会得到等价于十进制值 4 的二进制数。可提供给输入参数 N 的数值决定了移动相应值的位数。移位指令产生的空位将用零或符号位的信号状态(0 表示正,1 表示负)来填补。最后移动的位的信号状态将装入状态字的 CC1 位中。状态字的 CC0 和 OV 位将复位为 0。您可以使用跳转指令判断 CC1 位。
西门子PLC 移位指令根据不同参数调整以及数据类型,可用于SHR_I(整数右移)、SHR_DI(长整数右移)、SHL_W(字左移)、SHR_W(字右移)、SHL_DW(双字左移)以及SHR_DW(双字右移)。
扩展资料:
西门子公司的PLC产品包括LOGO、S7-200、S7-1200、S7-300、S7-400、S7-1500等。 西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。
可编程控制器是由现代化生产的需要而产生的,可编程序控制器的分类也必然要符合现代化生产的需求。一般来说可以从三个角度对可编程序控制器进行分类。其一是从可编程序控制器的控制规模大小去分类,其二是从可编程序控制器的性能高低去分类,其三是从可编程序控制器的结构特点去分类。