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 篇
发帖数量: 6738 个
工控威望: 37093 点
下载积分: 8510 分
在线时间: 9387(小时)
注册时间: 2006-09-13
最后登录: 2024-05-02
查看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 篇
发帖数量: 326 个
工控威望: 1558 点
下载积分: 73031 分
在线时间: 982(小时)
注册时间: 2013-07-19
最后登录: 2024-04-28
查看gz000525的 主题 / 回贴
2楼  发表于: 2017-03-02 12:35





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