Skip to main content

Variabili implicite

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

Le variabili implicite sono istanze di struttura del tipo SFCStepType per passaggi e tipo SFCActionType Per le azioni. Le variabili hanno gli stessi nomi dei loro elementi, ad esempio "step1" nome della variabile per "step1" nome del passo. I membri della struttura descrivono lo stato di un passo o di un'azione o il tempo attualmente trascorso in un passo attivo.

Suggerimento

Nel Proprietà degli elementi SFC, puoi definire se o meno CODESYS dovrebbe esportare una definizione di simbolo per questo bandiera alla configurazione del simbolo.

Stato Passo e dell'azione

Importante

È possibile utilizzare le variabili sopra indicate per forzare un valore di stato specifico per un passaggio al fine di attivarlo. Tuttavia, si noti che questo può causare uno stato instabile nell'SFC.

Sintassi per la dichiarazione implicita delle variabili:

<step name>:SFCStepType;

_<action name>:SFCActionType;

Tabella 2. Per lo stato dell'azione IEC o del passaggio sono disponibili le seguenti variabili implicite:

Passo

<step name>.x

Mostra lo stato di attivazione nel ciclo corrente

Se <step name>.x = TRUE, il passaggio viene elaborato nel ciclo corrente.

<step name>._x

Mostra lo stato di attivazione per il ciclo successivo

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

<step name>.t

La bandiera t Restituisce l'intervallo di tempo corrente dall'attivazione del passaggio. Questo si applica solo ai passaggi, indipendentemente dal fatto che sia stato definito o meno un tempo minimo nelle proprietà del passaggio.

Per ulteriori informazioni, vedere: Flag SFC

<step name>._t

Solo per uso interno

<POU name>._MetaStep

Punto di ingresso per ottenere informazioni sugli elementi ISFC nell'elenco concatenato quando è attivata la funzionalità "MetaStep" (vedere di seguito).

Azione IEC

_<action name>.x

TRUE quando l'azione viene eseguita

_<action name>._x

TRUE quando l'azione è attiva



Elenco concatenato di elementi nel grafico SFC, variabile implicita _MetaStep

Importante

La funzione "MetaStep" genera molto codice implicito aggiuntivo per consentire il collegamento degli elementi. Abilitatela solo se realmente necessaria.

La variabile implicita _MetaStep Identifica l'elemento appartenente al passo iniziale (Passo iniziale) di un grafico SFC. Quando la funzione "MetaStep" è abilitata, vengono create variabili implicite aggiuntive che rappresentano una lista concatenata per gli elementi di un grafico SFC. A partire dal passo iniziale, tutte le transizioni, i passaggi e i salti sono collegati tramite riferimenti ad altri elementi. ISFCElement oggetti (dall' IecSfc.library, >= V4.4.0.0). Un ISFCElement ha sempre un predecessore, un successore, un nome e il numero di elementi nel collegamento in base all'interfaccia. A seconda del tipo di ISFCElement oggetto, è possibile implementare una sottointerfaccia più specifica con attributi aggiuntivi.

La variabile <POU name>._MetaStep viene utilizzato come punto di ingresso. Il IQueryInterface La funzione può essere utilizzata per determinare informazioni sugli elementi predecessore e successore nell'elenco concatenato degli elementi ISFC.

Restrizioni: Nella versione corrente della funzionalità, i nomi delle transizioni all'interno di un programma SFC devono essere univoci. In caso contrario, viene visualizzato un avviso e i dati aggiuntivi nella lista concatenata non vengono generati.

Per abilitare la funzionalità MetaStep, è necessario eseguire i seguenti passaggi:

  1. Nel Informazioni sul progetto dialogo, sul Proprietà scheda, imposta il UseMetaStepsEnabled (BOOL) proprietà a True.

  2. Nel Proprietà dialogo dell'oggetto, su Impostazioni SFC scheda, abilitare l'uso del SFCMetaSteps variabile per ogni oggetto SFC che richiede la funzionalità.

Accesso alle variabili implicite

Sintassi per l'accesso

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

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

Esempio 6. Esempio

status:=step1._x;



Da un altro POU con il nome:  

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

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

Esempio 7. Esempio:

status:=SFC_prog.step1._x;



Generazione di simboli

Nelle proprietà dell'elemento di un passaggio o di un'azione, si definisce se CODESYS dovrebbe aggiungere una definizione di simbolo per il flag di passaggio o azione. Nel Proprietà vista, è necessario selezionare i diritti di accesso necessari nella Simbolo colonna.