您现在的位置是:首页 > PLC技术 > PLC技术

S7-300 PLC算术运算指令

来源:艾特贸易2017-06-05

简介在 STEP7 中可以对整数、长整数和实数进行加、减、乘、除算术运算。算术运算指令在累加器 1 和 2 中进行,在累加器 2 中的值作为被减数或被除数。算术运算的结果保存在累加器 1 中,

    STEP7中可以对整数、长整数和实数进行加、减、乘、除算术运算。算术运算指令在累加器12中进行,在累加器2中的值作为被减数或被除数。算术运算的结果保存在累加器1中,累加器1原有的值被运算结果覆盖,累加器2中的值保持不变。CPU在进行算术运算时,对RLO不产生影响。然而算术运算指令对状态字的CC1CC0OVOS位产生影响。可以用位操作指令或条件跳转指令,对状态字中的标志位进行判断操作。

    1.整数算术运算

    整数算术运算指令包括:

    指令“+I”:将累加器12低字中的16位整数相加,16位整数结果保存在累加器1低字中。

    指令“-I”:将累加器2低字中的16位整数减去累加器1低字中的内容.结果保存在累加器1中。

    指令“*I”:将累加器12低字中的16位整数相乘,结果为32位整数保存在累加器1中。

    指令“/I”:将累加器2低字中的16位整数除去累加器1低字中的内容,商为16位整数并保存在累加器1低字中,余数存放在累加器1高字中。

    指令“+D”:将累加器12中的32位整数相加,32位整数结果保存在累加器1中。

    指令“-D”:将累加器2中的32位整数减去累加器1中的内容,结果保存在累加器1中。

    指令“*D”:将累加器12中的32位整数相乘,结果为32位整数保存在累加器1中。

    指令“/D”:将累加器2中的32位整数除以累加器1中的内容,商为32位整数并保存在累加器1中.余数被忽略。

    指令“MOD”:将累加器2中的32位整数除以累加器1中的内容,余数保存在累加器1中,商被忽略。

    指令“+”:累加器1中加一个16位或2位整数常量,结果保存在累加器中。

    2.实数算术运算

    实数算术运算指令包括:

    指令“+R”:将累加器12中的32位实数相加,32位结果保存在累加器1中。

    指令“-R”:将累加器2中的32位实数减去累加器1中的内容,结果保存在累加器1中。

    指令“*R”:将累加器12中的32位实数相乘,32位乘积保存在累加器1中。

    指令“/R”:将累加器2中的32位实数除去累加器l的内容,32位的商并保存在累加器中。

    指令“ABS”:对累加器]中的32位实数取绝对值。

    3.梯形图算术运算方块指令

    以上介绍的语句表运算指令,都有对应的梯形图方块指令。在编程器上,使用梯形图指令浏览器,可以选择需要的方块指令。下面举例说明算术方块指令的用法。

    【例5-5  编写实现MD4= (IW0+DBW3)×15/MD 0运算的程序。

    【解】  5-18给出了一个实现上述运算的梯形图程序。

    5-18    算术运算方块指令

    实现相同运算的语句程序如下:

   L  IW  0    ∥将输入字IW0的内容装入累加器1

   L  DBW  3  ∥将数据字DBW3的内容装入累加器1中,累加器1原内容装入累加器2

   +I    ∥累加器2与累加器1相加,结果存入累加器1

   L  +15    ∥将常数15装入累加器1,累加器1原内容装入累加器2

   *I    ∥累加器2与累加器1相乘,结果为长整数在累加器1

   L  MD  0  ∥将存储双字MD 0的内容装入累加器1,累加器1原内容装入累加器2

    /I    ∥累加器2除累加器1,结果的整数部分在累加器1

    T MD  4  ∥将运算结果传送至存储双字MD4