La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Le Function Block Progetto n°1 con FB. Cosè una FB ? È possibile scrivere l'intero programma utente in una unità (programmazione lineare), questa operazione."— Transcript della presentazione:

1 Le Function Block Progetto n°1 con FB

2 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 di automazione o che devono essere utilizzati più volte. Nel programma utente, i compiti parziali sono rappresentati dai blocchi (programmazione strutturata).

3 Facciamo un esempio La 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. Funzione CicloAutomatico Funz. Gestione Uscite Funz. Temporizzazioni

4 Come si procede? Dal navigatore Project Organizer selezioniamo User Defined Function Block e quindi impostiamo il linguaggio come Ladder.

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

6 Incolliamo il lavoro già fatto Quindi ora tornati nella nostra funzione, incolliamo i segmenti.

7 Rinominiamo la FB Ora per facilitare la lettura del programma rinominiamo la funzione ad esempio come CicloAutomatico.

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

9 Riscriviamo la POU principale Tornando nella POU principale dal Toolbox preleviamo dei Block da inserire nei segmenti rimasti vuoti.

10 Selezioniamo le nostre User FB Dalla finestra Instruction Block Selector colonna Category selezioniamo le nostre User defined appena create.

11 Inseriamo tutte le FB Funzione per funzione le inseriamo nei segmenti della POU principale.

12 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.

13 Osserviamo Nella funzione CicloAutomatico lassegnazione simbolica del contatto nel segmento 4, non è più valida (perché non è locale). Quindi dobbiamo correggere lerrore.

14 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 lassenso alla gestione degli EN\ENO (in verità questa spunta non è proprio obbligatoria e solo una questione stilistica).

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

16 Seleziona ! Inseriamo il parametro duscita nella funzione Tornando alla funzione Temporizzatori inseriamo una bobina duscita assegnandogli la nostra variabile FinitoTempo.

17 Aggiungiamo un merker globale Nella tabella Global Variables del navigatore Project Organizer aggiungiamo un merker generico.

18 Passiamo il parametro Ora bisogna usare questo merker globale generico come elemento di passaggio del parametro duscita del blocco Temporizzatori (cioè la VarOutput FinitoTempo) con il parametro dingresso del blocco CicloAutomatico (cioè la VarInput Pausa).

19 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.

20 Infine Ora basterà sostituire lassegnazione errata del contatto nel segmento 4 della funzione CicloAutomatico con la sua VarInput Pausa.

21 Per concludere ! Luso delle Function Block (FB) permette di suddividere il programma in moduli. Questo rende più facile fare manutenzione o modifiche.


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

Presentazioni simili


Annunci Google