工控玩家
澧县电气自动化
级别: 家园常客
精华主题: 0
发帖数量: 549 个
工控威望: 764 点
下载积分: 758 分
在线时间: 582(小时)
注册时间: 2008-09-06
最后登录: 2024-05-28
查看工控玩家的 主题 / 回贴
楼主  发表于: 2010-11-24 16:08
(MOV HFFFF D0)此传送指令执行的数据大于了32767,传送完毕后是否自动存放在32位数据寄存器D1 D0中??如不这样FFFF传到D0就等于-1了。
工控玩家
澧县电气自动化
级别: 家园常客
精华主题: 0
发帖数量: 549 个
工控威望: 764 点
下载积分: 758 分
在线时间: 582(小时)
注册时间: 2008-09-06
最后登录: 2024-05-28
查看工控玩家的 主题 / 回贴
1楼  发表于: 2010-11-24 17:24
哪FFFF传到D0后不就变成-1了吗?本来HFFFF=K65535我认为就存在D1 D0,当监控D0时等于-1,
但监控32位(D1 D0)时就等于K65535了。只有看成32位才不出错。
工控玩家
澧县电气自动化
级别: 家园常客
精华主题: 0
发帖数量: 549 个
工控威望: 764 点
下载积分: 758 分
在线时间: 582(小时)
注册时间: 2008-09-06
最后登录: 2024-05-28
查看工控玩家的 主题 / 回贴
2楼  发表于: 2010-11-24 17:28
D0的每位都为1,有两种可能,
如当16位看,最高位为符号位,则等于K-1
如当32位看(D1 D0)第16位就不是符号位了,则等于HFFFF也就是K65535
如要保证执行MOV后不出错,只有当32位看了,这个问题没看到资料上说过。
工控玩家
澧县电气自动化
级别: 家园常客
精华主题: 0
发帖数量: 549 个
工控威望: 764 点
下载积分: 758 分
在线时间: 582(小时)
注册时间: 2008-09-06
最后登录: 2024-05-28
查看工控玩家的 主题 / 回贴
3楼  发表于: 2010-11-29 09:56
(MOV  HFFFF  D0)这个指令确是可以下载到PLC。可PLC运行时,用十六进制时监控D0,D0也不为HFFFF,而为-1这怎么解释??只有当成32位看D1 D0数字才正确。