第七个烧饼
出错语句:
L MW 58 ITD ……
出错状态:在将MW58转换成长整形之后,数值发生变化。
在线观测MW58值为正数33013(大概值,具体数值忘记了)
ITD之后,显示数值为-35312(大概值,具体数值忘记了)
哪位大虾帮助分析一下,为什么会出现这样的问题??
yuanle
当ITD后,那么您应该去监控MD58而非MW58~~ITD指令将数据转换为长整型,32位数据去监控其16位地址显然与结果有误!
以上
L MW12 //将整数载入ACCU 1。 ITD //从整型(16位)转换为长整型(32位);结果存储在ACCU 1中。 T MD20 / /将结果(长整型)传送到MD20。
这是在“step7帮助”里面复制来的东西
可以看出来,ITD之后,计算结果是存储在累加器里面的,并不需要去监控MD58。
而且,这个问题是突然出现的,原来的程序正常运行了几个月,莫名其妙就出现了这个问题。
苗子
shine7777
查一下,是否MD20的地址空间在程序的其它地方被占用了,注意: MB20---23; MW20--21.....
鸡蛋饼...