Vai alla Home Page About me Courseware Federica Virtual Campus 3D Gli eBook di Federica
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Alfredo Pironti » 12.Programmazione dei PLC: Macroazioni e traduzione dell'SFC


Programmazione dei PLC: Macroazioni e traduzione dell’SFC

Sommario della lezione

  • Programmazione dei PLC: Macroazioni e traduzione dell’SFC
    • Macroazioni
    • Traduzione dell’SFC nel linguaggio a contatti
    • Esempi di traduzione

Le Macroazioni

  • Le Macroazioni consentono di realizzare un controllo gerarchico tra diversi SFC
  • In particolare una macroazione è una azione operata da un SFC che ha effetti sulla condizione di un SFC a livello gerarchico inferiore
  • Le macroazioni sono particolarmente utili per gestire, all’interno di un algoritmo di controllo, le condizioni di emergenza
  • E’ possibile definire i seguenti tipi di macroazioni
    • Forzatura
    • Sospensione
    • Bloccaggio

Le macroazioni: la forzatura

  • Nella forzatura l’SFC di controllo opera su un SFC di livello gerarchico inferiore imponendogli una certa condizione (l’insieme delle fasi attive)
  • Nell’esempio a lato quando si attiva la fase F120 l’SFC ciclo viene forzato in una condizione in cui è attiva soltanto la fase S20

Le macroazioni: la forzatura

  • Si noti che la presenza della macroazione di forzatura non è indispensabile (ed infatti essa non è prevista dallo standard
  • Nello figura a lato è mostrato come inserendo delle transizioni si possa evitare di farvi ricorso

Le macroazioni: la sospensione

  • La sospensione è un caso particolare di forzatura, in cui la nuova condizione specificata è l’insieme vuoto. In altri termini la sospensione causa la disattivazione di tutte le fasi dell’SFC
  • Per far riprendere l’esecuzione di un SFC sospeso sarà necessario operare una forzatura che provveda ad attivare qualche fase
  • Ovviamente anche la sospensione può essere ottenuta, senza far ricorso ad una macroazione, inserendo delle opportune transizioni

Le macroazioni: esempio

In questo esempio un watchdog timer verifica che un ciclo duri meno di 30s. In caso contrario il ciclo è sospeso sino a quando un operatore non prema un tasto di “ripristino”.


Esercizi sulle macroazioni

Si consideri l’esempio già svolto del controllo del trapano automatico, e si aggiunga la gestione di un segnale di emergenza. In altri termini si modifichi l’algoritmo di controllo in modo che l’operatore abbia un tasto di “stop” per bloccare il trapano e un segnale “reset” per rimettere il sistema nelle condizioni iniziali.

Suggerimento: si lasci l’algoritmo di controllo già sviluppato inalterato, e si aggiunga un SFC parallelo che attraverso le macroazioni gestisca il segnale di emergenza.

Confrontate la vostra soluzione con quella nel paragrafo A.5 del testo di Chiacchio e Basile.

Traduzione dell’SFC

  • L’SFC è un linguaggio di programmazione che consente con relativa facilità la scrittura di algoritmi di controllo logico
  • Inoltre esso è utile anche per la rappresentazione delle specifiche funzionali di un sistema, e quindi semplifica la stesura della documentazione e l’eventuale manutenzione di un programma
  • Per questo motivo l’impiego dell’SFC risulta utile anche quando il dispositivo di controllo considerato non mette a disposizione strumenti per lo sviluppo in questo linguaggio
  • In questa parte del corso illustreremo una procedura di traduzione che consenta di impiegare l’SFC anche quando ciò non risulta possibile
  • Vista la diffusione del linguaggio a contatti focalizzeremo il nostro studio sulla traduzione dell’SFC in tale linguaggio

L’algoritmo di evoluzione

  • L’algoritmo di evoluzione della condizione di un SFC è presentato nel flow chart posto a fianco
  • Come si può vedere tale algoritmo si adatta perfettamente con il ciclo a copia massiva degli ingressi e delle uscite usato nei PLC

Codifica dell’algoritmo di evoluzione

La struttura dati usata per implementare l’algoritmo di evoluzione impiegherà un bit per memorizzare ciascun marker di fase, ed un bit per memorizzare lo stato di ciascuna transizione (superabile, oppure no).


Codifica dell’algoritmo di evoluzione

  • Il programma scritto nel linguaggio a contatti sarà composto da 4 sezioni
    • Inizializzazione: questa sezione sarà eseguita un’unica volta durante il primo ciclo di scansione, e servirà a mettere ad i bit associati ai marker di fasi che nell’SFC sono iniziali.
    • Valutazione delle transizioni: in questa sezione si valuterà lo stato di ciascuna transizione, determinando se essa è superabile oppure no.
    • Aggiornamento della condizione: in questa sezione si aggiornerà la condizione dell’SFC
    • Esecuzione delle azioni: in questa sezione si eseguiranno le azioni delle fasi attive
  • Dettagli ed esempi sulla traduzione dell’SFC nel linguaggio a contatti si possono trovare nell’Appendice A del testo di Chiacchio e Basile

Esercizi

Si studino gli esempi di traduzione dall’SFC al linguaggio a contatti che sono riportati nel testo di Chiacchio e Basile.

Prossima lezione

Esempi di programmazione: introduzione ad UniSim

  • Introduzione ad UniSim
    • La norma IEC 61131-3 e gli strumenti di sviluppo per PLC
    • Introduzione al tool UniSim
  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93