Sequential function chart: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Avafab (discussione | contributi)
Nessun oggetto della modifica
m clean up, replaced: E' → È
 
(27 versioni intermedie di 18 utenti non mostrate)
Riga 1:
[[File:SFC esempio.png|thumb|upright=1.5|Un semplice SFC che descrive una sequenza di controllo per un [[motore]]]]
[[File:SFC esempio.png|thumb|Testo della didascalia]]Il '''diagramma funzionale sequenziale''' o '''sequential function chart''' ('''SFC''') è un [[linguaggio di programmazione]] grafico per i [[PLC]] introdotto e definito dallo standard internazionale [[IEC 61131-3]]. Questo linguaggio si basa sul [[Grafcet]] che a sua volta eredita le principali caratteristiche dal modello matematico di [[Rete di Petri]]. L'SFC è utile anche come strumento di modellazione e analisi dell'evoluzione sequenziale di un sistema di automazione poiché permette di decomporre il ciclo macchina in una serie di azioni di controllo sequenziali.
 
Il '''Sequential Functional Chart''' (in acronimo '''SFC''', {{lett|diagramma funzionale sequenziale|lingua=it}} ) è un [[linguaggio di programmazione]] grafico per [[Controllore logico programmabile|PLC]] orientato alla descrizione di [[algoritmo|algoritmi]] di controllo logico-sequenziale.
È uno dei linguaggi di programmazione definiti nello standard internazionale [[IEC 61131-3]].<ref>{{cita|Chiacchio, Basile 2004|pp. 50-51}}.</ref>
 
[[File:SFC esempio.png|thumb|Testo della didascalia]]Il '''diagramma funzionale sequenziale''' o '''sequential function chart''' ('''SFC''') è un [[linguaggio di programmazione]] grafico per i [[PLC]] introdotto e definito dallo standard internazionale [[IEC 61131-3]]. Questo linguaggio si basa sulsu [[Grafcet]] che a sua volta eredita le principali caratteristiche dal modello matematico di [[Rete di Petri]]. L'SFC è utile anche come strumento di modellazione e analisi dell'evoluzione sequenziale di un sistema di automazione poiché permette di decomporre il ciclo macchina in una serie di azioni di controllo sequenziali.
 
== Elementi base dell'SFC ==
Gli elementi grafici di base che compongono l'SFC sono i seguenti:
 
* ''Fase'' (o Step): rappresenta un singolo passo della sequenza di operazioni, è convenzionalmente indicata con un quadrato contenente un numero univoco che la identifica. Ad ogni fase possono essere associate delle azioni rappresentate da un rettangolo collegato alla fase contenente l'azione da eseguire. Ad ogni fase è associata una variabile booleana che ne rappresenta lo stato. Ogni fase può trovarsi in due soli stati: fase attiva o fase non attiva. Quando una fase è attiva vengono immediatamente eseguite tutte le azioni ad essa associate (ciascuna secondo le proprie caratteristiche temporali descritte da un qualificatore dell'azione).
 
* ''Transizione'': riassume le condizioni per il passaggio da una fase ad un'altra, viene convenzionalmente indicata con una barretta orizzontale a cui è associato un identificatore univoco (T1, T2, T3...). Una transizione si dice attiva quando tutte le condizioni ad essa associata sono verificate nello stesso momento. Una transizione si dice superabile quando è attiva e tutte le fasi a monte sono contemporaneamente attive.
 
* ''Arco orientato'': segmento con snodi ad angolo retto che collega fasi e transizioni.
 
 
La regola fondamentale per la costruzione grafica dell'SFC è la seguente: tra due fasi è sempre presente almeno una transizione, tra due transizioni è presente almeno una fase. Due fasi non possono essere collegate direttamente tra loro, così come anche due transizioni non possono essere collegate direttamente tra loro.
 
== Regole di evoluzione ==
Le regole per passare da una fase ad un 'altra sono le seguenti:
 
* ''Regola 1'': quando una transizione diventa superabile, essa viene immediatamente superata. Il superamento di una transizione avviene con la disattivazione di tutte le fasi che si trovano a monte e l'attivazione di tutte le fasi che si trovano a valle.
 
* ''Regola 1'': quando una transizione diventa superabile, essa viene immediatamente superata. Il superamento di una transizione avviene con la disattivazione di tutte le fasi che si trovano a monte e l'attivazione di tutte le fasi che si trovano a valle.
* ''Regola 2'': se in un certo momento più transizioni diventano superabile, esse vengono effettivamente superate tutte contemporaneamente.
 
== Azioni e qualificatori ==
Ad ogni azione è associato un qualificatore che ne specifica le proprietà, i principali qualificatori sono:
 
* '''N''' (non-stored, azione continua);
L'azione inizia quando la fase è attiva e si disattiva quando la fase è disattivata
* '''L''' (time-limited, azione limitata nel tempo);
* '''P''' (pulse, azione impulsiva);
Riga 28 ⟶ 31:
* '''R''' (reset, azione arrestata).
 
==Bibliografia Note ==
<references />
* Pasquale Chiacchio, Francesco Basile, ''Tecnologie informatiche per l’automazione 2/ed'', McGraw-Hill, 2004. ISBN 9788838661471.
* Claudio Bonivento, Luca Gentili, Andrea Paoli, ''Sistemi di automazione industriale - Architetture e controllo'', McGraw-Hill, 2011. ISBN 9788838666933.
 
==Voci correlateBibliografia ==
 
* {{cita libro
|titolo = Tecnologie informatiche per l'automazione
|autore1 = Pasquale Chiacchio
|autore2 = Francesco Basile
|editore = McGraw-Hill
|città = Milano
|anno = 2004
|edizione = 2
|ISBN = 88-386-6147-2
|cid = Chiacchio, Basile 2004
}}
* {{cita libro
|titolo = Sistemi di automazione industriale - Architetture e controllo
|autore1 = Claudio Bonivento
|autore2 = Luca Gentili
|autore3 = Andrea Paoli
|editore = McGraw-Hill
|anno = 2001
|ISBN = 978-88-386-6693-3
}}
 
== Voci correlate ==
* [[Automazione industriale]]
* [[Controllore logico programmabile]]
* [[PLC]]
* [[Ladder diagram]]
* [[AWL (linguaggio)]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
[[Categoria:Ingegneria dell'automazione]]
* [https://github.com/avafab/IEC-61131-3-Visio-stencils Libreria di stencil per disegnare SFC/GRAFCET con Microsoft Visio]
 
{{Portale|controlli automatici|informatica|ingegneria}}
[[de:Ablaufsprache]]
 
[[en:Sequential function chart]]
[[Categoria:Ingegneria dell'automazione]]
[[fr:Sequential function chart]]
[[Categoria:Linguaggi di programmazione]]
[[fr:Grafcet]]
[[Categoria:Diagrammi]]
[[ja:シーケンシャル・ファンクション・チャート]]
[[Categoria:Rete di Petri]]
[[ru:Sequential Function Chart]]