È possibile inserire elementi grafici utilizzabili per la programmazione nella finestra dell'editor SFC eseguendo i comandi del menu
.Per informazioni sull'uso dell'editor, vedere la descrizione nel capitolo Uso dell'editor SFC.
Sono disponibili i seguenti elementi, descritti in questo capitolo:
Per inserire un singolo passo o una singola transizione, eseguire il comando ) o (
) dalla barra degli strumenti.
Un passo è rappresentato da un modulo contenente principalmente un nome di passo generato automaticamente. È collegato alla transizione precedente e successiva da una linea. La cornice del modulo del primo passo SFC, il passo iniziale, è contraddistinta da una linea doppia.
La transizione è rappresentata da un piccolo rettangolo. Dopo essere stata inserita, ha il nome predefinito Trans<n>
, in cui n
è il numero progressivo.
Esempio di passo e successiva transizione:
Esempio di passo iniziale e successiva transizione:
I nomi dei passi e delle transizioni sono modificabili nella riga stessa.
I nomi dei passi devono essere univoci nell'ambito di applicazione della POU principale. Tenere presente questo aspetto, soprattutto quando si utilizzano azioni programmate in SFC. Altrimenti, durante la procedura di compilazione verrà generato un errore.
È possibile trasformare ogni passo in un passo iniziale eseguendo il comando
o attivando la relativa proprietà del passo. Un passo iniziale viene eseguito per primo quando la IL-POU viene chiamata.Ogni passo è definito dalle relative proprietà.
Dopo l'inserimento di un passo, associare le azioni da eseguire quando il passo è attivo (elaborato). Per ulteriori informazioni sulle azioni, vedere più avanti.
Una transizione deve fornire la condizione in base alla quale il successivo passo diventerà attivo, non appena il valore della condizione diventa TRUE. La condizione di una transizione, quindi, deve avere valore TRUE o FALSE.
La condizione di una transizione può essere definita nei seguenti due modi:
Tipo di definizione |
Tipo di condizione |
Descrizione |
---|---|---|
diretta |
interna alla linea |
Sostituire il nome predefinito della transizione con uno dei seguenti elementi:
Qui non è possibile specificare programmi, blocchi funzione o assegnazioni. |
utilizza un oggetto proprietà o transizione separato |
multiuso |
Sostituire il nome predefinito della transizione con il nome di una transizione ( Un oggetto come una transizione interna alla linea può contenere i seguenti elementi:
|
Oggetto transizione (transizioni multiuso):
Esempi di transizioni:
1 Condizioni di transizione immesse direttamente
2 Transizione condition_xy
programmata in ST
Le condizioni multiuso (transizioni o proprietà) sono indicate da un triangolo:
A differenza delle versioni precedenti di EcoStruxure Machine Expert, una chiamata a una transizione viene gestita come una chiamata a un metodo. Verrà immessa con la sintassi seguente:
<nome transizione>:=<condizione transizione>;
Esempio: trans1:= (a=100)
;
o solo
<condizione transizione>;
Esempio: a=100
;
Vedere anche un esempio (condition_xy
) nella figura Esempi di transizioni.
Un'azione può contenere una o più istruzioni scritte in uno dei linguaggi di programmazione validi. Viene assegnata a un passo e, in modalità online, viene elaborata secondo la sequenza di elaborazione definita.
Ogni azione da utilizzare nei passi SFC deve essere disponibile come POU valida nella POU SFC o nel progetto ().
Se si aggiungono azioni IEC a un passo come associazione di azione , è inoltre possibile specificare una variabile booleana anziché un oggetto azione. Il valore di queste variabili cambia tra FALSE e TRUE ogni volta che viene eseguita l'azione.
I nomi dei passi devono essere univoci nell'ambito di applicazione della POU principale. Un'azione non può contenere un passo con lo stesso nome del passo a cui è assegnata; in caso contrario, viene rilevato un errore durante il processo di generazione.
Esempio di un'azione scritta in ST
Nei paragrafi che seguono sono descritte le azioni di passi conformi allo standard IEC e che estendono lo standard IEC.
Si tratta di un'azione conforme allo standard IEC61131-3, che viene elaborata in base al relativo qualificatore quando il passo viene attivato e quindi una seconda volta quando viene disattivato. Se a un passo sono assegnate più azioni, l'elenco delle azioni viene eseguito procedendo dall'alto verso il basso.
A differenza delle azioni di passi normali, per le azioni di passi IEC è possibile utilizzare qualificatori diversi.
Un'ulteriore differenza rispetto alle azioni di passi normali è che ogni azione di passi IEC è dotata di un flag di controllo. In tal modo, anche se l'azione viene richiamata anche da un altro passo, verrà eseguita sempre solo una volta. Ciò non si verifica con le azioni di passi normali.
Un'azione di passi IEC viene rappresentata con un modulo diviso in due, collegato alla destra di un passo tramite una linea di connessione. A sinistra, è mostrato il qualificatore dell'azione, a destra il nome dell'azione. Entrambi possono essere modificati nella linea stessa.
Le azioni di passi IEC vengono associate al passo tramite il comando . A un passo è possibile associare una o più azioni. La posizione della nuova azione dipende dalla posizione corrente del cursore e dal comando. Le azioni devono essere disponibili nel progetto e devono essere inserite con un nome di azione univoco (ad esempio, plc_prg.a1
).
Elenco delle azioni di passi conformi IEC associate a un passo:
Per ognuno dei moduli di azione, la prima colonna mostra il qualificatore e la seconda il nome dell'azione.
Si tratta di azioni che estendono lo standard IEC. Devono essere disponibili come oggetti sotto l'oggetto SFC. Selezionare nomi di azione univoci. La definizione avviene nelle proprietà del passo.
La tabella elenca le azioni di passi che estendono lo standard IEC:
Tipo di azione |
Elaborazione |
Associazione |
Rappresentazione |
---|---|---|---|
azione all'attivazione nel passo (passo attivato) |
Questo tipo di azione del passo è elaborato non appena il passo viene attivato e prima dell'azione con passo attivo. |
L'azione è associata a un passo tramite l'immissione nel campo proprietà del passo. delle |
Viene rappresentata da una |
azione passo attivo (azione passo) |
Questo tipo di azione del passo viene elaborato quando il passo è stato attivato e dopo l'elaborazione di un'eventuale azione di attivazione del passo. A differenza delle azioni di passi conformi allo standard IEC, tuttavia, (vedere sopra), questa azione non viene eseguita nuovamente alla disattivazione e non è possibile assegnare dei qualificatori. |
L'azione è associata a un passo tramite l'immissione nel campo proprietà del passo. delle |
Viene rappresentata da un piccolo triangolo nell'angolo in alto a destra del modulo del relativo passo. |
azione all'uscita dal passo (passo disattivato) |
L'azione all'uscita viene eseguita una volta quando il passo viene disattivato. Questa esecuzione, tuttavia, non avviene nello stesso ciclo ma all'inizio di quello successivo. |
L'azione è associata a un passo tramite l'immissione nel campo proprietà del passo. delle |
Viene rappresentata da una |
Azioni di passi che estendono lo standard IEC
La differenza principale tra le azioni di passi e le azioni di passi conformi IEC con qualificatore N
è che le azioni IEC sono eseguite almeno due volte: la prima quando il passo è attivo e la seconda quando viene disattivato. Vedere l'esempio seguente.
L'azione Action_AS1
è associata al passo AS1
come azione del passo (a sinistra) o come azione IEC con qualificatore N
(a destra). Poiché in entrambi i casi si utilizzano due transizioni, in entrambi sono necessari due cicli del controller prima che il passo iniziale venga nuovamente raggiunto, nell'ipotesi che la variabile iCounter
venga incrementata in Action_AS1
. Dopo la riattivazione del passo Init
, iCounter
nell'esempio a sinistra avrà valore 1. Nell'esempio a destra, invece, avrà valore 2, perché l'azione IEC, a causa della disattivazione di AS1
, è stata eseguita due volte.
Per ulteriori informazioni sui qualificatori, vedere l'elenco dei qualificatori disponibili.
Rispetto alle azioni IEC, le azioni di passo possono essere integrate in modo da poter essere chiamate solo dal passo corrispondente. Se si copia questo passo, i nuovi oggetti azione vengono creati automaticamente e il codice di implementazione viene duplicato. Selezionare la modalità di duplicazione per le azioni passo come o nella finestra di dialogo visualizzata quando si inserisce la prima azione nel passo. È possibile selezionare la modalità di duplicazione in seguito attivando l'opzione nella finestra di dialogo . È inoltre possibile configurare il come opzione generale nella finestra di dialogo .
Un grafico SFC può divergere, nel senso che la linea di elaborazione può diramarsi in due o più linee o derivazioni. Le derivazioni parallele vengono elaborate in parallelo, cioè contemporaneamente. Nel caso di derivazioni alternative, ne viene elaborata solo una, a seconda della condizione di transizione precedente. Ogni derivazione di un grafico è preceduta da una linea orizzontale doppia (parallela) o semplice (alternativa) ed è terminata dalla stessa linea o da un salto.
Una derivazione parallela deve iniziare e terminare con un passo. Le derivazioni parallele possono contenere derivazioni alternative o altre derivazioni parallele.
Le linee orizzontali prima e dopo l'area derivata sono doppie.
Elaborazione in modalità in linea: se la transizione precedente (t2
nell'esempio a sinistra) è TRUE, i primi passi di tutte le derivazioni parallele vengono attivati (Step11
e Step21
). Le singole derivazioni vengono elaborate tutte in parallelo prima che la transizione successiva (t3
) venga riconosciuta.
Per inserire una derivazione parallela, selezionare un passo ed eseguire il comando
.Per trasformare una derivazione parallela in una alternativa e viceversa eseguire i comandi
o .
Alla diramazione viene aggiunta automaticamente una label sulla linea orizzontale che precede la diramazione, con il nome Branch<n>
dove n
è un numero progressivo che parte da 0. È possibile specificare questa label quando si definisce la destinazione di un salto.
Le linee orizzontali prima e dopo l'area derivata sono singole.
Una derivazione alternativa deve iniziare e terminare con una transizione. Le derivazioni alternative possono contenere derivazioni parallele e altre derivazioni alternative.
Se il passo che precede la linea iniziale della derivazione alternativa è attivo, la prima transizione di ogni derivazione alternativa verrà valutata da sinistra a destra. La prima transizione da sinistra la cui condizione ha valore TRUE verrà aperta e i passi successivi saranno attivati.
Per inserire derivazioni alternative, selezionare una transizione ed eseguire il comando
.Per trasformare una derivazione parallela in una alternativa e viceversa eseguire i comandi
o .Un salto è rappresentato da una linea connessione verticale con una freccia orizzontale e il nome della destinazione del salto. Il salto definisce il passo successivo che verrà elaborato non appena la transizione precedente avrà valore TRUE. I salti permettono di evitare che le linee di elaborazione si incrocino o siano dirette verso l'alto.
Oltre al salto predefinito al termine del grafico, un salto può essere utilizzato solo al termine di una derivazione. Per inserire un salto, selezionare l'ultima transizione della derivazione ed eseguire il comando
.La destinazione del salto è specificata dalla stringa di testo associata che può essere modificata. Può essere un nome di passo o l'etichetta di una derivazione parallela.
Vista dell'editor SFC principale
Vista dell'editor di macro per Macro1
Una macro è rappresentata da un modulo con cornice in grassetto contenente il nome della macro. Include una parte del grafico SFC, che pertanto non è visibile direttamente nella vista dell'editor principale. Il flusso del processo non è influenzato dall'uso di macro, che sono solo un modo per non rendere visibili alcune parti del programma, ad esempio, per semplificare la visualizzazione. Per inserire il modulo di una macro, eseguire il comando
. Il nome della macro può essere modificato.Per aprire l'editor delle macro, fare doppio clic sul modulo della macro o eseguire il comando
. È possibile modificarlo qui, come nella vista dell'editor principale e immettere la sezione desiderata del grafico SFC. Per uscire, eseguire il comando .La riga del titolo dell'editor delle macro mostra il percorso della macro nell'esempio SFC corrente: