quote:以下是引用question在2012-02-05 14:14:35的发言:
我在OB1里写了这么个程序:
A I1.2
JNB NEXT
CAL FC1
START:=I1.0
STOP:=I1.1
RUN:=Q1.0
BEU
NEXT:NOP 0
把i1.2置1后,fc1执行,置i1.0,q1.0有输出,然后把i1.2置0,不调用fc1,发现q1.0仍有输出。说明输出是可以保持的,只要不被复位。但同时也有个新的疑问,在块不被调用的时候,怎么来保证被调用的块里的输出是0能,是不是要对输出位做个复位程序?
当然你这里没有涉及到临时变量,FC的参数使用I、Q等区域实际在FC里访问形参实际就是访问的真实的地址,和临时变量使用无关。
当块不被调用时,块里的代码不会被扫描处理,所以输出会保持,所以如你所想,要实现某些目的你需要在主程序里处理。