Progetto n°1 con FB Le Function Block.

Slides:



Advertisements
Presentazioni simili
MICROSOFT EXCEL 97.
Advertisements

Funzioni e procedure Ogni linguaggio di programmazione ad alto livello mette a disposizione del programmatore questi strumenti, ed il C non è da meno!
Sottoprogrammi: funzioni e procedure
Modulo 4 – Seconda Parte Foglio Elettronico
P. L. C. (Programmable Logic Controller)
MODULO 3 – ELABORAZIONE TESTI
Le nuove funzioni della piattaforma Puntoedu lingue.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
(Creazione di subroutine) SOTTOPROGRAMMI. Cose un sottoprogramma? Una subroutine è una parte di programma scritta separatamente in un Foglio a parte.
Impianto di Avvio Ritardato
Primi passi con Easy Reg 1
Iterazione enumerativa (for)
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
LABORATORIO SINCRONO TUTORIAL LABORATORIO SINCRONO.
Access: Query semplici
Il Linguaggio Macchina
memoria gestita staticamente:
Fondamenti di Informatica1 Ripetizioni di segmenti di codice Spesso è necessario ripetere più volte uno stesso segmento dell'algoritmo (e.g. I/O, elaborazioni.
Le funzioni.
FUNZIONI... Una funzione permette di dare un nome a una espressione rendendola parametrica float f(){ return * sin(0.75); } float f1(int x) { return.
Corso di PHP.
DBMS ( Database Management System)
JavaScript 3. Commenti in JS Come in altri linguaggi di programmazione anche javascript offre la possibilità di inserire i commenti all'interno delle.
Modulo 4 - Excel.
WINDOWS XP PRIMI PASSI. Caratteristiche del sistema Le caratteristiche di base del PC (tipo e versione del sistema operativo installato, tipo e velocità
I Merker Impianto con due cilindri a doppio effetto in sequenza a ciclo continuo.
1 Programmazione = decomposizione basata su astrazioni (con riferimento a Java)
Le basi di dati per Economia
Lezione 12 Riccardo Sama' Copyright Riccardo Sama' Excel.
Informatica Avanzata Trattamento di Foto e Immagini Digitali UNI3 - NICHELINO Lez. N Dicembre 2008 di Pautasso Luciano Lez.
Connected Component Workbanch
1. SCARICARE 2. DICHIARARE 3. UNZIPPARE UNA QQ.STORIA.
Il foglio elettronico per Economia
Posta elettronica Usare la posta elettronica con il browser web 2 a parte La rubrica.
I Contatori Impianto con due cilindri a doppio effetto in sequenza con conteggio dei cicli.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Creare pagine web Xhtlm. Struttura di una pagina.
Foglio elettronico Excel Livello avanzato
EXCEL LEZIONE 3 Modulo EXCEL Celi Alessandro.
MODULO 02 Iniziamo a usare il computer MODULO 02 Unità didattica 07 Usiamo Windows: Impariamo a operare sulle cartelle.
Lavorare con le query Federica Scarrione 18/05/2009 fonte:
Costruire una tabella pivot che riepiloghi il totale del fatturato di ogni agente per categorie di vendita, mese per mese. Per inserire una tabella pivot.
Scansione referto e documentazione di gara
Prof.ssa Stella Beccaria a.s. 2013_2014
- prof. V. Riboldi - SOTTOPROGRAMMI IN TPASCAL METODO TOP DOWN.
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Programmazione in linguaggio C
Microsoft Word Interfaccia grafica
Word: Gli strumenti di formattazione
Word: gli strumenti di formattazione
Introduzione ai sommari j quindi premere F5 oppure fare clic su Presentazione > Dall'inizio per avviare il corso. Sulla barra dei messaggi fare clic su.
Questa è la pagina con la mappa
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni e Procedure Marco D. Santambrogio – Ver. aggiornata al 3 Aprile 2015.
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
Lezione 19 Riccardo Sama' Copyright  Riccardo Sama' Access.
Tag FRAMESET. I frame sono un particolare tipo di struttura HTML, che consente di suddividere la finestra del browser in diversi riquadri distinti. Un'insieme.
Microsoft Word Lezione 6 Riccardo Sama' Copyright  Riccardo Sama'
Sottoprogrammi e funzioni
Impianto di Avvio Ritardato
Data Base ACCESS EM 09.
ELABORAZIONE TESTI MICROSOFT WORD EM 09.
Questionari on line GOOGLE DRIVE.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Manuale Utente – i-Sisen Questionario dei Consumi
Manuale Utente – i-Sisen Questionario del Gas Naturale
Inserire le modalità di recupero nel registro elettronico
Planet HT – Genova - Elisa Delvai
Prof. P.Sanna - Prof.ssa D.Lecca Corso A programmatori 1 La gestione delle risorse e dei file.
Transcript della presentazione:

Progetto n°1 con FB Le Function Block

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

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. “Temporizzazioni” Funz. “Gestione Uscite”

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

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.

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

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

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

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

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

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

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.

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

Aggiungiamo una VarOutput Dichiara ! Seleziona ! Spunta ! 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).

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

Inseriamo il parametro d’uscita nella funzione Seleziona ! Tornando alla funzione “Temporizzatori” inseriamo una bobina d’uscita assegnandogli la nostra variabile “FinitoTempo”.

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

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”).

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

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

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