+ All Categories
Home > Documents > Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma...

Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma...

Date post: 02-May-2015
Category:
Upload: margherita-albanese
View: 217 times
Download: 0 times
Share this document with a friend
21
Le Function Block Progetto n°1 con FB
Transcript
Page 1: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Le Function Block

Progetto n°1 con FB

Page 2: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Cos’è una FB ?

È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione è consigliabile solo per programmi semplici.I compiti di automazione complessi possono essere elaborati meglio se vengono suddivisi in compiti parziali più piccoli, che corrispondono alle funzioni tecnologiche del processo diautomazione o che devono essere utilizzati più volte. Nel programma utente, i compitiparziali sono rappresentati dai blocchi(programmazione strutturata).

Page 3: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Facciamo un esempioLa programmazione lineare è un unico elenco di segmenti. La programmazione procedurale

(strutturata a moduli) è costituita da un blocco principale (POU) con una serie di salti a sottoprogrammi (funzioni) con scopi diversi e indipendenti.

Funzio

ne “C

icloA

utom

atico

Funz. “Gestione Uscite”

Funz. “Temporizzazioni”

Page 4: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Come si procede?

Dal navigatore “Project Organizer” selezioniamo “User Defined Function Block” e quindi impostiamo il linguaggio come Ladder.

Page 5: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Creiamo la FB del Ciclo

Ora o riscriviamo segmento per segmento la funzione oppure visto che l’avevamo già fatto nella POU principale, possiamo copiare (o meglio tagliare) i segmenti del ciclo (dal segmento1 al 5) e poi incollarli nella nostra funzione.

Page 6: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Incolliamo il lavoro già fatto

Quindi ora tornati nella nostra funzione, incolliamo i segmenti.

Page 7: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Rinominiamo la FB

Ora per facilitare la lettura del programma rinominiamo la funzione ad esempio come “CicloAutomatico”.

Page 8: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Creimo le altre FB

Ripetiamo la procedura per creare le funzioni dedicate alla gestione del temporizzatore e anche per le uscite.

Page 9: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Riscriviamo la POU principale

Tornando nella POU principale dal “Toolbox” preleviamo dei “Block” da inserire nei segmenti rimasti vuoti.

Page 10: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Selezioniamo le nostre User FB

Dalla finestra “Instruction Block Selector” colonna “Category” selezioniamo le nostre “User defined” appena create.

Page 11: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Inseriamo tutte le FB

Funzione per funzione le inseriamo nei segmenti della POU principale.

Page 12: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Ecco !

Alla fine quindi nella POU principale si vedono solamente i salti alle nostre funzioni dove abbiamo trasferito (taglia e incolla) i singoli segmenti del nostro programma.

Page 13: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Osserviamo

Nella funzione “CicloAutomatico” l’assegnazione simbolica del contatto nel segmento 4, non è più valida (perché non è locale). Quindi dobbiamo correggere l’errore.

Page 14: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Aggiungiamo una VarOutput

Spunta !

Dichiara !

Seleziona !

Occorre selezionare il “Block” (FB) denominato “Temporizzatori” e dalla finestra “Instruction Block Selector” che compare, dichiarare una nuova variabile (ad esempio “FinitoTempo”) come “VarOutput e dare l’assenso alla gestione degli EN\ENO (in verità questa spunta non è proprio obbligatoria e solo una questione stilistica).

Page 15: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Aggiungiamo una VarInput

Ripetiamo la procedura anche per il “Block” (FB) denominato “CicloAutomatico”, questa volta dichiareremo una variabile di nome “Pausa” di tipo VarInput.

Page 16: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Seleziona !

Inseriamo il parametro d’uscita nella funzione

Tornando alla funzione “Temporizzatori” inseriamo una bobina d’uscita assegnandogli la nostra variabile “FinitoTempo”.

Page 17: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Aggiungiamo un merker globale

Nella tabella “Global Variables” del navigatore “Project Organizer” aggiungiamo un merker generico.

Page 18: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Passiamo il parametro

Ora bisogna usare questo merker globale generico come elemento di passaggio del parametro d’uscita del blocco “Temporizzatori” (cioè la VarOutput “FinitoTempo”) con il parametro d’ingresso del blocco “CicloAutomatico” (cioè la VarInput “Pausa”).

Page 19: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Cosi !

In questo modo quando il temporizzatore locale del blocco “Temporizzatori” ha finito il conteggio, tramite la sua VarOutput “FinitoTempo” imposterà il merker globale “Merker1” che a sua volta trasmetterà il valore alla variabile VarInput del blocco “CicloAutomatico” denominata “Pausa”.

Page 20: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Infine

Ora basterà sostituire l’assegnazione errata del contatto nel segmento 4 della funzione “CicloAutomatico” con la sua VarInput “Pausa”.

Page 21: Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione.

Per concludere !

• L’uso delle Function Block (FB) permette di suddividere il programma in moduli.

• Questo rende più facile fare manutenzione o modifiche.


Recommended