发布于 2004-10-14 23:34:37
0楼
我觉得就算看完3遍系统手册,这个问题也不一定能弄明白,这应该是在系统手册之前的计算机基础或者说是经验。其实很好理解,就是寄存器是可保持的也是必须保持的,如果没有掉电(当然S7-200默认设置掉电也保持,那是它有相应的电路。别的微机系统一般都不掉电保持,如PC机的内存),它将一直保持上次被改变的状态。在楼主的程序里,一旦调用过这个子程序,M0.0将被置1,即使后来调用子程序条件不满足了,M0.0的值将不再被刷新,也就是一直保持1。这就是楼主看到的现象。这点东西看似简单,但是在低级语言编程是一定要注意的,在S7-200里,对同一BOOL地址操作上,S、R和=指令的混用尤其要留心。