Collegare EN/ENO a FUN o FB

Lo stato ENO (TRUE o FALSE) della prima funzione (FUN) o del primo Function Block (FB) determina se questo verrà eseguito e se le uscite verranno scritte o meno (vedere EN/ENO per LD e FBD).

Se una FUN o un FB successivo utilizza una di queste uscite come ingresso, il compilatore crea una variabile temporanea. Poiché altre variabili temporanee possono occupare questo indirizzo, il valore è indefinito in questa posizione qualora non sia stato scritto, ossia se ENO è FALSE.

Per evitare ciò, assicurarsi che tutti i FUN o FB in una rete vengano eseguiti solo se anche il precedente FUN/FB è stato eseguito. Il compilatore controlla semplicemente che il FUN o FB successivo non abbia un ingresso EN e che la funzione AND non sia coinvolta.

Nella Rete 1 si riceverà un avviso in quanto il comportamento è indefinito se Compare è FALSE.

La Rete 2 mostra la programmazione corretta, pertanto non si riceverà alcun avviso.

Nella Rete 3, se Add_to è FALSE e Compare TRUE, la FUN successiva (E_GT) viene eseguita e la FUN precedente (E_ADD) no. Benché il comportamento sia indefinito, il compilatore non genera alcun messaggio di avviso.

Argomenti correlati

L'ultima revisione: 2020-10-12Feedback su questa paginaPanasonic hotline