Flag SFC
I flag SFC sono variabili create implicitamente con nomi predefiniti che forniscono funzioni per il controllo e la diagnosi dei diagrammi SFC. Questi flag consentono di attivare le transizioni in modo mirato.
Ad esempio
Rilevamento di timeout
Reset delle catene di passi
Attivazione della modalità a impulsi
Per accedere a queste variabili, i flag corrispondenti devono essere dichiarati e abilitati.
Nome | Tipo di dati | Descrizione |
|---|---|---|
|
|
|
|
| Si comporta in modo simile a Al contrario, dopo l'inizializzazione il passo iniziale continua a essere eseguito. Ad esempio, nel passo iniziale è possibile reimpostare immediatamente il flag |
|
| Diventa Se nel programma si verifica un altro timeout dopo il primo, questo viene rilevato solo se la variabile La dichiarazione di |
|
| Serve per l'attivazione ( Se si dichiara e si attiva questa variabile (impostazioni SFC), è necessario anche impostarla su Il presupposto è la dichiarazione di |
|
| Memorizza il nome del passo che ha causato un timeout registrato da Il nome viene mantenuto finché l'errore del passo registrato non viene resettato mediante Il presupposto è la dichiarazione di |
|
| In caso di timeout, memorizza il nome del POU in cui si è verificato un timeout registrato da Il presupposto è la dichiarazione di |
|
| Finché questa variabile booleana è Il presupposto è la dichiarazione di |
|
| Finché questa variabile è |
|
| Diventa |
|
| Visualizza il nome del passo attualmente attivo, indipendentemente dal controllo del tempo Nel caso di una diramazione parallela, viene sempre memorizzato il nome del passo della diramazione più a destra. |
|
|
Quando si abilita la modalità a impulsi impostando |
| Contiene una stringa di tutte le variabili che contribuiscono al valore complessivo Affinché ciò funzioni, A tale scopo, Per informazioni sulla configurazione avanzata dell'analisi, vedere anche: SFC | |
| Contiene una tabella delle variabili che contribuiscono al valore complessivo Affinché ciò funzioni, A tale scopo, Per informazioni sulla configurazione avanzata dell'analisi, vedere anche: SFC |
Generazione implicita dei flag SFC
I flag SFC vengono dichiarati automaticamente se è stata abilitata l'opzione corrispondente. È possibile impostare questa opzione nella finestra di dialogo delle proprietà Impostazioni SFC per i singoli POU oppure nella finestra di dialogo delle impostazioni del progetto SFC per tutti i POU SFC del progetto.
Suggerimento
Le impostazioni SFC dei flag SFC dei singoli POU sono efficaci solo se non è stata abilitata l'opzione Utilizzare le preimpostazioni. Se questa opzione è abilitata, si applicano le impostazioni definite nelle impostazioni del progetto.
Suggerimento
I flag SFC dichiarati nella finestra di dialogo delle impostazioni SFC sono visibili solo nella vista online del POU SFC.
Suggerimento
In Proprietà degli elementi SFC è possibile definire se per un flag deve essere esportata una definizione di simbolo nella configurazione dei simboli.
Generazione esplicita dei flag SFC
Una dichiarazione manuale, come era necessaria in precedenza in CoDeSys V2.3, è ancora necessaria solo se occorre un accesso in scrittura ai flag da un altro POU. A tale proposito, tenere presente quanto segue:
Importante
Se i flag sono stati dichiarati in una lista di variabili globali, è necessario disattivare l'impostazione Dichiarare nella finestra di dialogo delle impostazioni SFC. In caso contrario, viene creato implicitamente anche un flag SFC locale. Questo flag viene quindi utilizzato al posto della variabile globale.
Esempio di applicazione per SFCError
È stato creato un POU SFC denominato sfc1 che contiene un passo s1. Nelle proprietà del passo sono stati definiti limiti di tempo.
Se la durata di attività del passo s1 supera il limite definito nelle sue proprietà temporali, viene impostato il flag SFCError. L'applicazione può valutare questo flag per reagire al timeout.
Per consentire questo accesso, è necessario abilitare e dichiarare il flag nelle impostazioni SFC. Se lo si dichiara soltanto, il flag SFC viene visualizzato nella parte dichiarazione della vista online di sfc1, ma non funziona.

Ora è possibile indirizzare il flag SFC all'interno del POU, ad esempio in un'azione (2), oppure dall'esterno del POU (1).

Vista online del POU SFC sfc1:

SFCError diventa TRUE non appena si verifica un timeout all'interno di sfc1.
Per analizzare la causa di un timeout è possibile utilizzare i flag SFCErrorAnalyzation e SFCErrorAnalyzationTable della libreria Analyzation. Questi flag consentono di identificare i singoli componenti dell'espressione che contribuiscono al fatto che SFCError assuma il valore TRUE.
Accesso ai flag
Sintassi per l'accesso
All'interno del POU, il flag si assegna direttamente: <variable name> := <sfc flag>
checkerror := SFCError;Da un altro POU con nome: <variable name> := <pou name>.<sfc flag>
checkerror := SFC_prog.SFCError;
Se è necessario l'accesso in scrittura da un altro POU, occorre anche dichiarare esplicitamente il flag SFC come variabile VAR_INPUT nel POU SFC o globalmente in una GVL.
Dichiarazione locale
PROGRAM SFC_prog
VAR_INPUT
SFCInit : BOOL;
END_VAROppure dichiarazione globale in una lista di variabili globali
VAR_GLOBAL
SFCInit : BOOL;
END_VARPROGRAM PLC_PRG
VAR
SetInit : BOOL;
END_VAR
SFC_prog.SFCInit := SetInit; //Write access to SFCInit in SFC_prog