quote:以下是引用cerdar在2012-02-20 21:37:08的发言:
只要保证FC的输出变量每次程序执行时都要赋给一个确定的值就没有问题。
L #fc3_in //#fc3_in FC块的输入
L 10
>I
S #fc3_out //#fc3_in FC块的输入
L #fc3_in
L -10
R #fc3_out
上面的例子在OB1中调用,当//#fc3_in 的值在(-10 ~10)之间时, #fc3_out没有被赋给值,这时输出就有可能是一个随机的数。我这也是在西门子一个资料中看到的,希望对你有用。
谢谢你的提醒,你说的这个资料我看到了,因此才提出的这些困惑,以前真没注意。
所以我觉的如果把FC做公共调用块,还是不要对输出变量用置位,复位指令,用这些指令的话,就有可能出现对输出变量没有赋值的情况。
还有如果用Fb做公共调用块,如果这个块是电机运行控制的块,那最好把背景数据块做成掉电不保持的,因为电机在运行过程中,如果整个系统突然停电,然后又送电,因为背景数据块的断电保持,电机还会立刻运行的,这很危险。