Sequential Function Chart (SFC)

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

P. L. C. (Programmable Logic Controller)
La programmazione in linguaggio Listato
La programmazione in LADDER
Linguaggi algoritmici
Estendere i linguaggi: i tipi di dato astratti
Algoritmi e Programmazione
IL Linguaggio per la programmazione del PLC
Introduzione Cosa sono le reti di Petri?
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Il Linguaggio di Programmazione IEC
Linguaggio di Programmazione Ladder
PLC PCD1 della SAIA-Burgess
Sincronizzazione fra processi
Sistemi e Tecnologie della Comunicazione
Iterazione enumerativa (for)
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
Analisi e sintesi di circuiti combinatori
Sintesi con circuiti LSI-MSI
fondamenti di informatica parte 4
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
eliana minicozzi linguaggi1a.a lezione2
Uso dei cicli y t =c+ty t-1 +e Un uso dei cicli può essere quello di creare una serie storica per cui y t =c+ty t-1 +e dove poniamo c e t scalari ed e~N(0,1).
Linguaggio di Programmazione Ladder
Access: Query semplici
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Sintesi con circuiti LSI-MSI. Realizzazione di reti combinatorie mediante Multiplexers Un multiplexer (MPX ) é una rete combinatoria con N ingressi, una.
Programmazione Corso di laurea in Informatica
Unità Didattica 2 I Linguaggi di Programmazione
Esercitazione del Corso di Interazione Uomo-Macchina
Istruzioni Iterative Nicola Fanizzi
Strutture di controllo in C -- Flow Chart --
Elementi di Informatica
Concorrenza e Sincronizzazione di Thread e Processi
4 Tipi di dati & variabili
2000 Prentice Hall, Inc. All rights reserved. Capitolo 3 (Deitel) Lo sviluppo di programmi strutturati Indice degli argomenti Introduzione 3.2 -
I Contatori Impianto con due cilindri a doppio effetto in sequenza con conteggio dei cicli.
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
EXCEL E FTP.
Programmazione di Calcolatori
SEQUENTIAL FUNCTIONAL CHART PARTE II
Programmazione concorrente
BIOINFO3 - Lezione 15 ISTRUZIONI
Il controllo di Sistemi ad Eventi Discreti
Microsoft Access Chiavi, struttura delle tabelle.
Modulo 6 Test di verifica
TAG e CSS Ricalcare la grgilia di impaginazione. UNA STRUTTURA PER I CONTENUTI Oltre a caratterizzare i contenuti (titoli, paragrafi, liste, collegamenti),
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
JavaScript Generalità Cos'è JavaScript?
Centri di costo Centri di costo – sono rappresentati dagli input, ossia, funzione, processo, strumenti di conoscenza, numero di obiettivi, servizi;
Architettura di una CPU
MULTIVIBRATORI I multivibratori sono dispositivi che forniscono in uscita tensioni a due livelli diversi qualsiasi. Possono essere positivo e negativo.
Algebra di Boole.
Introduzione a Javascript
Rappresentazione degli algoritmi
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
IV D Mercurio DB Lezione 2
ADC – SCHEMA GENERALE I convertitori AD sono disponibili come circuiti integrati in diversi modelli, che differiscono fra loro per prezzo, prestazioni.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
PRIMI ELEMENTI DI PROGRAMMAZIONE
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
Algebra di Boole L’algebra di Boole è un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono assumere.
Normativa di riferimento
UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA Dispositivi per il.
Informatica e Informatica di Base
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Diagramma degli Stati. Diagramma degli Stati … Definizione è un grafico con nodi ed archi in cui i nodi rappresentano gli stati di una classe e gli archi,
Transcript della presentazione:

Sequential Function Chart (SFC) Linguaggio orientato al Sequencing Deriva dallo standard IEC 848 "Preparation of Function Charts for Control Systems", basato su alcune idee tipiche del Grafcet Linguaggio Grafico Grafcet: Standard Francese basato sulle Reti di Petri Vantaggi: Programmazione Top-Down Si basa su : Transition, Step, Action, Oriented Arc home start N

Step Due tipi di Step: Normal Step, Initial Step Nome Due tipi di Step: Normal Step, Initial Step Vi può essere un solo Initial Step Ogni step ha associato un nome unico in tutto il POU I nomi associati agli step sono trattati come variabili locali nel POU A ciascuno Step è associato uno Stato: Attivo o non Attivo L’Initial Step viene automaticamente attivato quando vi è una Cold-Start

Step A ciascuno Step sono associate due variabili: Step Active Flag. E' una variabile booleana che diviene vera quando lo step “Nome” diviene attivo. Nome_Step.X Può essere utilizzata in qualunque parte del programma, allo scopo di testare che un particolare step è attivo. Elapse Time. E' una variabile di tipo TIME. Quando uno step diviene attivo la variabile è posta a zero. Mentre lo step è attivo, la variabile viene aggiornata. Quando lo step non è più attivo, la variabile conserva il suo ultimo valore, ossia memorizza quanto tempo lo step è rimasto attivo l'ultima volta che è stato attivato. Nome_Step.T Può essere utilizzata in qualunque parte del programma, ad esempio per imporre un limite massimo sulla durata dello stato attivo.

Transition Una transizione è rappresentata da una barra orizzontale nera A ciascuna transizione è sempre possibile associare almeno uno Step precedente ed almeno uno Step seguente: il numero di Step precedenti e seguenti può essere maggiore di uno (vedi sequenze simultanee) A ciascuna transizione DEVE essere associata una condizione booleana (TRUE, FALSE). Lo stato della transizione coincide con la condizione associata

Condizione associata alla Transition La condizione booleana può essere essere costituita da: Una variabile booleana (TRUE, FALSE) o in generale una qualunque espressione booleana Un rung nel linguaggio ladder. Se il rung fornisce un flusso di corrente, la condizione associata alla transizione diviene vera Una uscita binaria di un qualunque FB. Se l'uscita è vera allora la condizione associata alla transizione diviene vera Un nome logico (Named Transition). Al nome logico viene associato un programma usando uno dei linguaggi IEC 1131-3. Nella definizione di una Named Transition si deve associare al suo nome logico un valore booleano.

Esempi di Transition Step1 Step2 start (TRUE, FALSE) x y z AND

Esempi di Transition Step1 Step2 Pstart Definizione della Named Transition "Pstart" in Ladder: TRANSITION Pstart: Il nome associato deve essere unico in tutto il programma I nomi associati sono variabili locali nel POU x y z Pstart END_TRANSITION

Archi e Sequenze nel linguaggio SFC Un arco permette di associare step e transizioni tra loro Un arco è rappresentato da una linea verticale che collega uno step con una transizione. Un arco è orientato per default dall'alto verso il basso (step -> transizione) Nel caso in cui è necessario ricorrere ad un arco orientato dal basso verso l'alto, viene rappresentato il senso, tramite una freccia una sequenza è definita da una serie di step – transizioni - step collegati da archi orientati

Archi e Sequenze nel linguaggio SFC

Sequenze Alternative E' possibile realizzare sequenze alternative tramite percorsi divergenti e convergenti. Le sequenze sono eseguite in mutua esclusione. percorso divergente percorso convergente

Sequenze Simultanee E' possibile realizzare sequenze simultanee tramite Simultaneous Sequence Divergence e Simultaneous Sequence Convergence. Divergenza di Sequenze Simultanee Convergenza di Sequenze Simultanee

Regole di Valutazione di una Transition La condizione associata ad una transizione è valutata SOLO quando lo Step precedente ad essa è Attivo (almeno uno Step è attivo: Initial Step !!!!) In tal caso, SE la condizione associata alla Transizione è vera, lo Step precedente si disattiva e diventa attivo lo Step seguente.

Regole di Valutazione di una Transition Sequenze Alternative Regole di valutazione delle sequenze alternative: E' buona norma, associare alle transizioni presenti in Sequenze Alternative, condizioni logiche mutuamente esclusive Le condizioni booleane associate alle transizioni vengono valutate da sinistra verso destra. Se una o più transizioni hanno condizioni TRUE, la precedenza viene data alla transizione più a sinistra E' possibile modificare la regola di precedenza, attribuendo una priorità a ciascuna transizione.

Regole di Valutazione di una Transition Sequenze Simultanee Le sequenze simultanee vengono valutate tutte in parallelo Per ciascuna sequenza simultanea solo uno step alla volta può essere attivo La convergenza di sequenze simultanee avviene solo quando tutti gli ultimi step di ciascuna sequenza sono attivi.

Regole di Valutazione di una Transition Sequenze Simultanee E' necessario che la Convergenza di Sequenze Simultanee possa attuarsi Tutti gli Step che afferiscono a tale convergenza devono poter diventare tutti attivi Esempio di Errata Convergenza di Sequenze Simultanee:

Actions Ad ogni Step è possibile associare una o più Action che descrivono le azioni da compiere quando il relativo Step è attivo Ogni action è rappresentata da un rettangolo connesso allo Step E' possibile che ad uno Step non sia associata alcuna azione. In tal caso quando lo Step diviene attivo, non viene eseguito nulla, e si attende che lo Step venga disattivato.

Actions Action Qualifier Indicator Variable Action Name Action Qualifier. Specifica le modalità di esecuzione dell'azione. Può assumere i valori: N, S, R, P, L, D, SD, DS, SL Action Name. Tale parametro DEVE essere unico in tutto il programma. All’Action Name viene associata una variabile binaria o un programma. Il programma può essere scritto (a parte) in uno dei linguaggi IEC 1131-3 Indicator Variable (opzionale). Permette di indicare una key variabile che è modificata dall'azione

Action Qualifiers Lo Standard IEC 1131-3 prevede che qualunque azione associata ad uno step (con qualunque Action Qualifier), che viene eseguita mentre lo step è attivo, venga eseguita ancora una sola volta dopo che lo step viene disattivato Vantaggio: permette il reset/set di eventuali parametri/variabili utilizzati durante l'esecuzione dell'azione Esempio: se l'azione è realizzata tramite un programma in Ladder occorre la presenza di un contatto cui è associato lo stato dello step (attivo/non attivo), in modo da distinguere le azioni da compiere nei due casi.

'N' Non stored action qualifier Action Qualifiers 'N' Non stored action qualifier Action1 N Step1 Step1.X T1 L'azione "Action1" e' eseguita continuamente mentre lo Step1 è attivo. Quando lo Step1 è disattivato l'azione è eseguita una sola volta

'S', 'R', Set e Reset action qualifier Action Qualifiers 'S', 'R', Set e Reset action qualifier Step1.X T1 StepN.X Action1 TN Action1 S Step1 T1 R StepN TN L'azione "Action1" inizia ad essere eseguita quando lo Step1 diviene attivo. L'azione viene memorizzata (stored) e continua ad essere eseguita fino a quando lo step StepN diviene attivo. In tal caso l'azione "Action1" è eseguita una sola volta. Nel caso in cui un'azione non venga mai resettata tramite l'action qualifier 'R', essa viene eseguita all'infinito.

'P' pulse action qualifier Action Qualifiers 'P' pulse action qualifier Step1.X T1 Action1 Action1 P Step1 T1 Quando lo Step1 è attivato, l'azione Action1 è eseguita una sola volta.  

Altri Action Qualifiers 'D' time delayed action qualifier 'L' Time Limited action qualifier 'SL' stored and time limited action qualifier 'SD' stored and time delayed action qualifier 'DS' time delayed and stored action qualifier

Elementi Fondamentali di Controllo tramite SFC Sequence Skip:

Elementi Fondamentali di Controllo tramite SFC Sequence Loop:

Elementi Fondamentali di Controllo tramite SFC Rendezvous: