第一个函数(FUN)或第一个功能块(FB)的ENO状态(TRUE或FALSE)决定是否执行以及是否写入其输出(关于LD和FBD,请参阅EN/ENO)。
如果后续FUN或FB使用这些输出之一作为输入,编译器将创建临时变量。由于其他临时变量可以占用此地址,如果尚未写入值,即如果ENO为FALSE,则在此位置值未定义。
为避免此情况,确保仅当上一个FUN/FB也已执行时,才执行网格中的所有FUN或FB。编译器仅检查后续FUN或FB没有EN输入,并检查不涉及AND函数。
在网格1中,将接收到警告,因为如果进行比较(P)为FALSE,则此表现未定义。
网格2显示正确的编程,并且不会接收到警告。
在网格3中,如果Add_to为FALSE且进行比较(P)为TRUE,将执行后续FUN (E_GT),而不执行上一个FUN (E_ADD)。尽管此表现未定义,但编译器不会发出警告信息。