kuaikuai
级别: 正式会员
精华主题: 0
发帖数量: 6 个
工控威望: 99 点
下载积分: 603 分
在线时间: 7(小时)
注册时间: 2016-06-12
最后登录: 2017-04-25
查看kuaikuai的 主题 / 回贴
楼主  发表于: 2017-03-02 11:15
想把D100到D139的40个数据分别乘以100 存储到D200到D239 中,这个程序简便一点应该怎么写呢,望大神们指导,小弟不胜感激。
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6766 个
工控威望: 38367 点
下载积分: 2459 分
在线时间: 9495(小时)
注册时间: 2006-09-13
最后登录: 2024-11-01
查看cvlsam的 主题 / 回贴
1楼  发表于: 2017-03-02 11:49
引用
引用楼主kuaikuai于2017-03-02 11:15发表的 三菱q系列PLC的数据存储器问题 :
想把D100到D139的40个数据分别乘以100 存储到D200到D239 中,这个程序简便一点应该怎么写呢,望大神们指导,小弟不胜感激。


首先,您无法完成40个16位寄存器乘以100后存放到40个寄存器中,因为三菱中,16位数据乘法的结果为32位,因此您需要80个寄存器来存放结果。

其次,如果您执意将40个16位寄存器乘以100后存放在40个寄存器中,您需要对数据结果进行限定,即您的原始数据不能大于326,否则您仍然无法完成您的需求。

在您对数据寄存器中的数据进行限定后,您可以使用FOR指令配合间接寻址,然后将寄存器乘以100的结果取低字,存放到目标数据区内。

Good  Luck ~
gz000525
级别: 论坛先锋
精华主题: 1 篇
发帖数量: 327 个
工控威望: 1559 点
下载积分: 75033 分
在线时间: 995(小时)
注册时间: 2013-07-19
最后登录: 2024-10-28
查看gz000525的 主题 / 回贴
2楼  发表于: 2017-03-02 12:35





  
自我解救
stackdog
级别: 网络英雄
精华主题: 0
发帖数量: 472 个
工控威望: 8656 点
下载积分: 7411 分
在线时间: 452(小时)
注册时间: 2015-10-01
最后登录: 2024-10-22
查看stackdog的 主题 / 回贴
3楼  发表于: 2017-03-02 12:51
2楼要考虑一下一楼说的问题哦,数据可能会溢出