Jump to content
  • Sign in to follow this  

    PLC 中的移位寄存器

       (0 reviews)

    leizuofa

    PLC 中有许多指令有助于以简化的方式执行逻辑。指令有多种类别,如算术、比较、逻辑、控制器等。例如,用于添加两个变量的简单加法指令就属于算术类别。因此,类似地,PLC 逻辑中可以使用多种类型的指令。

    PLC 编程中广泛使用的一种这样的指令是移位指令。它属于数值处理的范畴。

    在这篇文章中,我们将学习 PLC 编程中移位寄存器指令的概念。

    PLC 中的移位寄存器

    顾名思义,移位指令是将字的位移动某个预定义位置的命令。

    例如,您有一个 16 位的字。您想要将位号 3 从当前的第四位置移动到第七位置。因此,每当给出移位命令脉冲时,该位就会在每个触发器中从第四位置移位到第七位置。

    在这种连续性中,第五个位置的位将移动到第八个位置;第三位置的位将移动到第六位置。因此,在这里,您将按您定义的位置数移动组中的位。

    移位指令

    移位指令有两种类型——移位和循环。让我们看一下旋转指令。考虑语法 – %MW10:= SHL (%MW12, 4)。%MW10 是目标存储器字,%MW12 是源存储器字。

    请参阅下图。在 %MW10 中,当给出第一个左移触发时,位 0 移至位 1,依此类推。该结果存储在 %MW12 中。当这样的触发被给出四次时,最终,位0将最终转移到位4,依此类推。

    最终结果无论如何都存储在 %MW12 中,并且您会得到从源字移位四个位置的位的最终答案。但是,要记住的一件事是,每次移位时,前面的位都会填充值 0。您可以在图像中清楚地看到这一点。

    第一次移位后,%MW12 中的第一位为 0。因此,经过四次移位后,最终结果将为 – 0000 1101 1100 0000。因此,该移位可以是右移或左移。

    135-1.gif

    PLC 中还有另一种类型的转换;较早的类型从前一个位置添加了零,但第二种类型保持第一位的值(右侧的 MSB 和左侧的 LSB)不变。这称为算术移位

    因此,如果移位前第一位(右端的 MSB 和左端的 LSB)的值最初为 1,则最后一位将仅保持为 1,并且将从前第二位开始添加零,最多添加多少次 给出了移位命令。需要注意的是,最后移位的位总是存储在进位位中

    轮换指令

    第二种是循环指令。考虑语法 – %MW10:= ROL (%MW12, 4)。%MW10 是目标存储器字,%MW12 是源存储器字。我们将使用上面相同的图像作为参考。旋转指令,顾名思义,只是将位旋转您定义的位置。

    与移位指令相比,移位指令在每个前面的位后添加零;这里,位只是按照与左方向相同的顺序移位。因此,假设您的源词为 – 1100 1010 1100 0101;那么,触发 4 个位置后,最终结果将是 – 1010 1100 0101 1100。相同的逻辑在正确的方向上工作。最后移位的位也存储在进位位中。

    另一种类型属于旋转类别。这里,不是只移位 16 位,而是翻转进位位。这意味着,最后一位被移至进位位,然后进位位将被移至第一位,依此类推。在早期类型中,最后一位仅存储在进位位中。

    Sign in to follow this  


    User Feedback

    Create an account or sign in to leave a review

    You need to be a member in order to leave a review

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

    There are no reviews to display.


×
×
  • Create New...