菩提子
级别: 探索解密
精华主题: 0
发帖数量: 11 个
工控威望: 126 点
下载积分: 5278 分
在线时间: 54(小时)
注册时间: 2012-06-03
最后登录: 2024-07-06
查看菩提子的 主题 / 回贴
楼主  发表于: 2013-04-17 22:06
大家好!
       小弟是个初学,正在做一个累计流量,遇到个问题:我从模拟输入模块读回来的是一个16位的数比如D10=100,我的做法是直接 ” DADD  D10  D500  D500“
得到一个很大的数,好像是溢出了,我这么做累计流量不知道对不对,是不是要把D10变成32位的。
        求指点!
                                                                                                                                                                   谢谢!
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5177 个
工控威望: 7400 点
下载积分: 157967 分
在线时间: 3138(小时)
注册时间: 2007-11-21
最后登录: 2024-09-27
查看sjm213的 主题 / 回贴
1楼  发表于: 2013-04-17 22:57
用DADD指令,它自动将D10当作32位数处理。
但模拟量模块反馈的数是16位的,所以首先你要保证D11一直为0,这样DADD指令中32位的D10的数值模拟量中16位的D10数值一致。