Skip to main content

Variabili implicite

Ogni oggetto SFC fornisce variabili implicite che consentono di monitorare lo stato dei passi e delle azioni IEC in fase di esecuzione. Queste variabili implicite vengono dichiarate automaticamente per ogni passo e ogni azione IEC.

Le variabili implicite sono istanze di struttura di tipo SFCStepType per i passi o SFCActionType per le azioni. Il nome della variabile corrisponde al nome dell'elemento associato, ad esempio step1 per un passo con il nome step1. I componenti della struttura forniscono informazioni sullo stato corrente di un passo o di un'azione, nonché sul tempo già trascorso durante un passo attivo.

Stato di passo e azione

Importante

È possibile utilizzare le variabili sopra indicate per forzare un determinato valore di stato per un passo al fine di attivarlo. Tenere presente, tuttavia, che ciò può causare uno stato incoerente o incontrollato del diagramma SFC.

Sintassi per la dichiarazione delle variabili implicite:

<step name> : SFCStepType;
_<action name> : SFCActionType;TRUE
Tabella 1. Per lo stato di passi o azioni IEC sono disponibili le seguenti variabili implicite:

Passo

<step name>.x

Mostra lo stato del passo nel ciclo corrente.

Con <step name>.x = TRUE, il passo viene eseguito nel ciclo corrente.

<step name>._x

Mostra lo stato del passo per il ciclo successivo.

Se <step name>._x = TRUE e <step name>.x = FALSE, il passo viene elaborato nel ciclo corrente. Ciò significa che la variabile <step name>._x viene copiata all'inizio di un ciclo in <step name>.x.

<step name>.t

Variabile che fornisce l'intervallo di tempo trascorso dall'attivazione del passo.

Questa informazione è disponibile solo per i passi. Il tempo viene registrato indipendentemente dal fatto che nelle proprietà del passo sia definito un tempo minimo.

Per ulteriori informazioni, vedere: Flag SFC

<step name>._t

Variabile utilizzata solo per scopi interni.

<pou name>._MetaStep

Punto di ingresso per ottenere informazioni sugli elementi ISFC nella lista concatenata quando la funzione _MetaStep è abilitata.



Azione IEC

_<action name>.x

Mostra lo stato dell'azione nel ciclo corrente.

TRUE: l'azione viene eseguita nel ciclo corrente.

_<action name>._x

TRUE: l'azione è attivata.

Variabile implicita: _MetaStep

Variabile per la lista concatenata degli elementi programmati nel POU SFC

Importante

La funzione _MetaStep genera molto codice implicito aggiuntivo per implementare il collegamento degli elementi. Abilitare la funzione solo se è realmente necessaria.

La variabile implicita _MetaStep identifica l'elemento appartenente al passo iniziale di un diagramma SFC. Quando la funzione _MetaStep è abilitata, vengono create variabili implicite aggiuntive che danno luogo a una lista concatenata per gli elementi di un diagramma SFC. A partire dal passo iniziale, tutte le transizioni, i passi e i salti sono collegati mediante riferimenti ad altri oggetti ISFCElement (della IecSfc.library, >= V4.4.0.0).

A seconda dell'interfaccia, ogni ISFCElement possiede quanto segue

  • Predecessore

  • Successore

  • Nomi

  • Numero di elementi nella catena

A seconda del tipo di oggetto ISFCElement, può essere implementata una sottointerfaccia più specifica con attributi aggiuntivi.

Come punto di ingresso si utilizza la variabile <pou name>._MetaStep. La funzione IQueryInterface può essere utilizzata per determinare informazioni sugli elementi predecessore e successore nella lista concatenata degli elementi ISFC.

Limitazioni: nella versione attuale della funzione, i nomi delle transizioni all'interno di un programma SFC devono essere univoci. In caso contrario, viene emesso un avviso e i dati aggiuntivi nella lista concatenata non vengono generati.

Per abilitare la funzionalità _MetaStep, è necessario eseguire le seguenti operazioni:

  1. Nella finestra di dialogo Informazioni progetto, nella scheda Proprietà, impostare la proprietà booleana UseMetaStepsEnabled su TRUE.

  2. Per ogni oggetto SFC che richiede la funzionalità, abilitare l'utilizzo della variabile SFCMetaSteps nella scheda Impostazioni SFC della rispettiva finestra di dialogo Proprietà.

Accesso alle variabili implicite

Sintassi per l'accesso

All'interno del POU, si assegna direttamente la variabile implicita:

<variable name>:=<step name>.<implicit variable> oppure <variable name>:=_<action name>.<implicit variable>

Esempio 5. Esempio
status := step1._x;


Da un altro POU con percorso di istanza:

  • <variable name> := <pou name>.<step name>.<implicit variable>

  • <variable name> := <pou name>._<action name>.<implicit variable>

Esempio 6. Esempio:
status := SFC_prog.step1._x;


Generazione di simboli

Nelle proprietà di un passo o di un'azione è possibile specificare se viene aggiunta una definizione di simbolo per il flag del passo o dell'azione corrispondente. A tale scopo, abilitare i diritti di accesso desiderati nella colonna Simbolo della vista Proprietà.