借你消愁
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看借你消愁的 主题 / 回贴
楼主  发表于: 2010-06-14 12:30
现在我用三菱PLC编写的一个语句:MULP D560 D154 D540        现在在线监测到数据分别如下: 800         198         0
问题是800*198=158400才对,为何为0呢?是否超出溢出错误?如果是这样,程序该如何修改?谢谢。
另外,我看到有关资料讲,16位乘以16位就用MULP,得数就是32位。也就是540,541位。
veich
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看veich的 主题 / 回贴
1楼  发表于: 2010-06-17 14:53
起初我也曾考虑使用DMUL,但D560是触摸屏输入数据,D154是测试传感器数据。都是16位的,改为DMUL会有影响么?D561和D155我都预留着呢。
谢谢莫语。



不会有影响,另外查一下其他地方是否占用了相近的寄存器,从而自动占用了D560或D154.