暗夜幽灵
级别: 探索解密
精华主题: 0
发帖数量: 34 个
工控威望: 154 点
下载积分: 32705 分
在线时间: 64(小时)
注册时间: 2012-08-27
最后登录: 2019-08-09
查看暗夜幽灵的 主题 / 回贴
楼主  发表于: 2016-06-20 10:22
现有信捷一体机xp3-16rt,前面一位工程师编写了这样一段程序“
LD    M8000
MOV    ID1050    D0
MUL    D0    K100    D1
DDIV    D1    K16383    D3
SUB    D3    K40    D200
我第一次看程序时,ID1050数值为11126,为啥执行第五条程序(sub)时d200数值是499?
我第二次看程序时,ID1050数值为11126。为啥D0变成了0
求哪位高手给解答一下
id1050为0-5v电压信号输入
暗夜幽灵
级别: 探索解密
精华主题: 0
发帖数量: 34 个
工控威望: 154 点
下载积分: 32705 分
在线时间: 64(小时)
注册时间: 2012-08-27
最后登录: 2019-08-09
查看暗夜幽灵的 主题 / 回贴
1楼  发表于: 2016-06-20 10:23
第一次执行时d0的数字是对的
yangjiejie
朝花夕拾
级别: 网络英雄
精华主题: 0
发帖数量: 307 个
工控威望: 5906 点
下载积分: 13712 分
在线时间: 723(小时)
注册时间: 2010-02-26
最后登录: 2024-12-02
查看yangjiejie的 主题 / 回贴
2楼  发表于: 2016-06-20 11:16
信捷不是很熟,但寄存器那么多,为何不规范一些哪?16位运算,与32位运算,先分清楚了以后,再查找原因吧......
朝花夕拾
kd754223798
级别: 探索解密
精华主题: 0
发帖数量: 58 个
工控威望: 149 点
下载积分: 1830 分
在线时间: 68(小时)
注册时间: 2016-05-31
最后登录: 2024-12-02
查看kd754223798的 主题 / 回贴
3楼  发表于: 2016-06-20 15:12
你看下前后状态有没有变化
小八哥
电话15394301768 QQ815360919 慈溪余姚
级别: 工控侠客
精华主题: 0
发帖数量: 582 个
工控威望: 2138 点
下载积分: 2239 分
在线时间: 717(小时)
注册时间: 2016-02-18
最后登录: 2024-12-20
查看小八哥的 主题 / 回贴
4楼  发表于: 2016-06-20 20:10
人才啊 用了mul  会默认结果是双字节的   d1  默认是  do和d1 组成一个双字   完全是个新手写的 写程序尽量用双字 即使不用也要分开用  这是习惯问题
1447048884
~
级别: 网络英雄
精华主题: 0
发帖数量: 148 个
工控威望: 5022 点
下载积分: 7858 分
在线时间: 276(小时)
注册时间: 2014-03-31
最后登录: 2024-12-21
查看1447048884的 主题 / 回贴
5楼  发表于: 2016-07-29 23:51
交叉引用了
路过的时候记得、哥在打劫。
彭万生
级别: 工控侠客
精华主题: 0
发帖数量: 1890 个
工控威望: 2102 点
下载积分: 131755 分
在线时间: 1278(小时)
注册时间: 2013-08-04
最后登录: 2024-04-17
查看彭万生的 主题 / 回贴
6楼  发表于: 2016-07-30 00:23
mul  会默认结果是双字节的   d1  默认是  do和d1 组成一个双字
dgamen
岁月不饶人
级别: 略有小成
精华主题: 0
发帖数量: 315 个
工控威望: 423 点
下载积分: 2035 分
在线时间: 565(小时)
注册时间: 2016-05-23
最后登录: 2022-04-04
查看dgamen的 主题 / 回贴
7楼  发表于: 2016-07-30 12:00
乘法结果在D2,D1.除法的商在D4,D3.   余数在D6,D5。   .数据寄存器使用没错。你再看看驱动条件