西门子PLC 移位指令及应用

2024年11月30日 10:52
有4个网友回答
网友(1):

可使用移位指令向左或向右逐位移动输入 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)等。


可编程控制器是由现代化生产的需要而产生的,可编程序控制器的分类也必然要符合现代化生产的需求。一般来说可以从三个角度对可编程序控制器进行分类。其一是从可编程序控制器的控制规模大小去分类,其二是从可编程序控制器的性能高低去分类,其三是从可编程序控制器的结构特点去分类。

网友(2):

我原来写过类似的移位的程序。一开始以为写错了。
没有加沿触发,Q0.0开始移位。按下I0.0,PLC输出口全灭了,
不知道移那去了。呵呵,有沿触发就只移一次,没有沿触发,
PLC扫描一次就移一次。

网友(3):

西门子S7 PLC移位指令ROR SHL程序应用:

程序应用举例,将AC0中的字循环右移2位,将VW200中的字左移3位。程序及运行结果如图所示。

网友(4):

没有上升沿,你按一下时间有可能十几个扫描周期过去了,松手时位置不知道在什么地方了