• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
借你消愁
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看借你消愁的 主题 / 回贴
楼主  发表于: 2010-06-14 12:30
现在我用三菱PLC编写的一个语句:MULP D560 D154 D540        现在在线监测到数据分别如下: 800         198         0
问题是800*198=158400才对,为何为0呢?是否超出溢出错误?如果是这样,程序该如何修改?谢谢。
另外,我看到有关资料讲,16位乘以16位就用MULP,得数就是32位。也就是540,541位。
紫莫语
级别: 略有小成
精华主题: 0
发帖数量: 230 个
工控威望: 380 点
下载积分: 482 分
在线时间: 61(小时)
注册时间: 2008-11-25
最后登录: 2023-04-17
查看紫莫语的 主题 / 回贴
1楼  发表于: 2010-06-14 14:01
没用过MULP,不知道有没有这个指令,建议你用DMUL D560 D154 D540,这样计算出来就对了,不过D561和D155不要使用了,DMUL是32位乘法~~~~~~
本帖最近评分记录:
  • 下载积分:+2(ymmfa) 热心助人
    借你消愁
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看借你消愁的 主题 / 回贴
    2楼  发表于: 2010-06-14 15:25
    起初我也曾考虑使用DMUL,但D560是触摸屏输入数据,D154是测试传感器数据。都是16位的,改为DMUL会有影响么?D561和D155我都预留着呢。
    谢谢莫语。
    借你消愁
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看借你消愁的 主题 / 回贴
    3楼  发表于: 2010-06-14 15:40
    另外,我一直不能确定的是,D寄存器有无存取次数限制?
    fubin739
    级别: 家园常客
    精华主题: 0
    发帖数量: 443 个
    工控威望: 790 点
    下载积分: 3080 分
    在线时间: 451(小时)
    注册时间: 2006-11-06
    最后登录: 2024-05-11
    查看fubin739的 主题 / 回贴
    4楼  发表于: 2010-06-14 16:32
    很有可能D540什么地方又被写了一次
    wu32u2
    耐得住挫折的打磨,我们将迸发出比钻石还璀璨的光芒——
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 1121 个
    工控威望: 1474 点
    下载积分: 1780 分
    在线时间: 994(小时)
    注册时间: 2010-03-01
    最后登录: 2024-05-04
    查看wu32u2的 主题 / 回贴
    5楼  发表于: 2010-06-14 16:57
    寄存器实际上是有存储次数的。几十万次还是几百万次我忘了。不是频繁更改数据的话可以当作无限使用,使用DMUL没有什么影响。
    成功的路上需要帮助
    借你消愁
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看借你消愁的 主题 / 回贴
    6楼  发表于: 2010-06-17 08:22
    现在等同一秒一次了。如果次数为几十万次的话,也就是十多天的寿命了。
    [ 此帖被借你消愁在2010-06-17 13:33重新编辑 ]
    借你消愁
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看借你消愁的 主题 / 回贴
    7楼  发表于: 2010-06-17 11:38
    另外,谁知道三菱中国的服务电话是多少?
    借你消愁
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看借你消愁的 主题 / 回贴
    8楼  发表于: 2010-06-17 14:26
    引用
    引用第4楼fubin739于2010-06-14 16:32发表的  :
    很有可能D540什么地方又被写了一次

    我用查找的方法搜寻,未见到其他地方使用这个数据。
    veich
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看veich的 主题 / 回贴
    9楼  发表于: 2010-06-17 14:53
    起初我也曾考虑使用DMUL,但D560是触摸屏输入数据,D154是测试传感器数据。都是16位的,改为DMUL会有影响么?D561和D155我都预留着呢。
    谢谢莫语。



    不会有影响,另外查一下其他地方是否占用了相近的寄存器,从而自动占用了D560或D154.
    ykykkhor
    Best Regards,YK
    级别: 略有小成
    精华主题: 0
    发帖数量: 259 个
    工控威望: 308 点
    下载积分: 135954 分
    在线时间: 554(小时)
    注册时间: 2009-07-30
    最后登录: 2024-05-14
    查看ykykkhor的 主题 / 回贴
    10楼  发表于: 2010-06-19 15:08
    有好几个可能:
    1) PLC 在 STOP Mode
    - 让 PLC RUN
    2) 程序没有启动到 -| | - -|/|- ------[ MULP D560 D154 D540 ]
    - 检查程序中启动条件 -| | - -|/|-
    3) 程序启动一次而已, MULP 是上升脉冲型
    - 尝试把 MULP 改成 MUL
    4) 程序启动扫描时, 变量更新的时差
    4-1) D560 或 D154 更新分别为 800 和 198 的时候已经执行了 --[ MULP D560 D154 D540 ]
      - 更改程序, 把 -[ MULP D560 D154 D540 ] 推到 D560 或 D154 更新后才执行
    chabeiyuwo
    级别: 略有小成
    精华主题: 0
    发帖数量: 99 个
    工控威望: 224 点
    下载积分: 450 分
    在线时间: 120(小时)
    注册时间: 2009-03-02
    最后登录: 2024-02-20
    查看chabeiyuwo的 主题 / 回贴
    11楼  发表于: 2010-06-19 21:48
    引用
    引用第5楼wu32u2于2010-06-14 16:57发表的  :
    寄存器实际上是有存储次数的。几十万次还是几百万次我忘了。不是频繁更改数据的话可以当作无限使用,使用DMUL没有什么影响。

    有这回事吗,手册上怎么没讲,不要误人子弟。
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go