charliehc
级别: 探索解密
精华主题: 0
发帖数量: 7 个
工控威望: 131 点
下载积分: 854 分
在线时间: 16(小时)
注册时间: 2012-10-11
最后登录: 2014-02-19
查看charliehc的 主题 / 回贴
楼主  发表于: 2013-03-27 14:28
图片:
程序如下,D80里的值小于D54时候有输出1,D80大于D55的时候有输出2。
但是在运行时,我不改变D80的值,只变化D54和D55的值时出现了问题。
比如当D80的值为21时,设置D54为15,D55为30,本不该有输出,但是还是有输出1.。只有设置D54为9以下时,才没有输出。
当D80的值为21时,设置D54为9,D55为20时,本该有输出2,可是没输出,只有把D55改成10以下时,才有输出2.。。我很费解
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5196 个
工控威望: 7419 点
下载积分: 158460 分
在线时间: 3152(小时)
注册时间: 2007-11-21
最后登录: 2024-10-31
查看sjm213的 主题 / 回贴
1楼  发表于: 2013-03-27 19:20
先来仿真楼主的第一种情况【当D80的值为21时,设置D54为15,D55为30,本不该有输出】:


看,M2和M7确实都没有输出;
再仿真第二种情况【当D80的值为21时,设置D54为9,D55为20时,本该有输出2】:


M7确实是ON的。
--------------------------------------
显然以上两种情况可以推断出D80的实际数值为K10,那么只有这种情况:


双线圈才会导致这种现象。
第二个D80的数值K21是GX Developer作为显示的最终结果,但在执行CMP指令时,D80的数值实际上是K10,并非K21。
200518
级别: 略有小成
精华主题: 0
发帖数量: 133 个
工控威望: 262 点
下载积分: 12923 分
在线时间: 421(小时)
注册时间: 2012-06-05
最后登录: 2024-05-06
查看200518的 主题 / 回贴
2楼  发表于: 2013-03-27 19:30