电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> PLC基础及应用 >> 正文

西门子plc S7-300 PLC算术运算指令

作者:佚名    文章来源:本站原创    点击数:    更新时间:2018-12-29

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

    1.整数算术运算

    整数算术运算指令包括:

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

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

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

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

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

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

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

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

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

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

    2.实数算术运算

    实数算术运算指令包括:

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

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

    指令“*R”:将累加器1、2中的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

Tags:算术,运算指令,西门子plc,S7-300  
责任编辑:admin
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
    1分 2分 3分 4分 5分

    还可以输入 200 个字
    [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
    返回顶部
    刷新页面
    下到页底
    晶体管查询