举个马达启、保、停的例子吧:
A “start” // IN 接口类型,I0.0
O “motor” // OUT接口类型 ,Q0.0
AN “stop” // IN接口类型 ,I0.1
= “motor” // OUT接口类型 ,Q0.0
把这段程序分别放在FB中和FC中,按下“start”按钮,松开后,“motor”将会保持。FB与FC的区别在于,停电恢复后,FB会保持“motor”的状态,而FC是不会保持的。
这个例子中没有用到FB多出FC的STAT变量类型,是否可以说明FB与FC的区别不在于静态数据,而在于OUT接口呢?
接下来的问题是:如果希望既保持背景数据,例如控制参数等,又希望输出在停电后不要保持,该怎样处理呢?
我想到了IN_OUT接口类型。不只是位处理可以这样做,PQW之类也可以这样做,在处理PQW时,可以先将运算结果赋给QW,这样,恢复供电时,PQW即自然从0开始了。