• Non ci sono risultati.

5. - Esercitazione in aula informatica (Quinta Parte)

N/A
N/A
Protected

Academic year: 2021

Condividi "5. - Esercitazione in aula informatica (Quinta Parte)"

Copied!
19
0
0

Testo completo

(1)

Università degli Studi di Modena e Reggio Emilia Automation

Robotics and System

CONTROL Università degli Studi di Ferrara

PLC

Esercitazione 5

PLC

(2)

Carroponte

-Un diagramma degli stati per gestire l’intera macchina

-Libreria per gestione nastri

Esercitazione 4

Indice

I moduli del sistema di controllo del Carroponte

Esercitazione 5

-Libreria per gestione organo di presa -Librerie grafiche di CodeSys

(3)

Un modulo

סּ Riceve delle richieste attraverso dei comandi

סּ Fornisce un servizio e al termine segnala l’avvenuta

esecuzione al richiedente attraverso un acknoledge (conferma)

סּ Può essere istanziato più volte

סּ Può essere istanziato più volte

סּ Diagramma degli stati:

Attesa di riceve un comando Esecuzione comando comando acknoledge

(4)

Un modulo

סּ Ha un’interfaccia di comandi e acknoledges per

comunicare con gli altri moduli.

סּ In CodeSys è possibile creare un tipo di dato definito

dall’utente, che consiste in: dall’utente, che consiste in:

– DataType

– Struct

(5)

Un esempio – Una

automazione a carro ponte

סּ Descrizione:

un sistema di movimentazione a carro ponte ha come scopo la movimentazione di merci in senso verticale e orizzontale.

Spostare merci da un nastro trasportatore di arrivo ad un nastro trasportatore di partenza evitando un ostacolo

posto tra i due.

• Quali sono i moduli? • nastro di ingresso • nastro di uscita • gripper

(6)

Carroponte

nastro di nastro di gripper sensore nastro di ingresso nastro di uscita

(7)

Un esempio – Una

automazione a carro ponte

סּ Ogni modulo ha un diagramma degli stati che

definisce il funzionamento di una parte della macchina in modo indipendente dagli altri moduli

סּ Chi controlla la macchina?

è necessario definire un modulo Macchina che impartisce i comandi ai moduli e gestisce la loro impartisce i comandi ai moduli e gestisce la loro sincronizzazione  si chiama Machine Controller

(8)

Un esempio - Una

automazione a carro ponte

סּ Implementa la funzione principale della

macchina

סּ Diagramma degli stati

Attesa di riceve un comando Avvio il START comando Avvio il nastro di ingresso

Pezzo uscito Avvio il gancio per fare la

presa Avvio il nastro

di uscita

(9)

Modulo NASTRO

Un modulo ha:

סּ – Stato interno, memorizzato in variabili private

 CurrentState, NextState

סּ – Comportamento incapsulato in una parte di codice privata

 struttura CASE …OF

סּ – Interfaccia “software” con gli altri moduli di controllo isolata

 variabili del modulo DataType

סּ – Interfaccia “hardware” con la parte fisica privata del modulo meccatronico

configurazione di un mapping I/O del controllo che consiste nella dichiarazione degli

configurazione di un mapping I/O del controllo che consiste nella dichiarazione degli indirizzi di ingresso, di uscita e di salvataggio del dispositivo di controllo vengono

assegnate delle variabili di progetto utilizzate dall'applicazione.

Attesa di riceve un comando Esecuzione comando Malfunzionamento

(10)

Modulo NASTRO

סּ Interfaccia:

Cmd

dovete elencare i comandi che possono essere eseguiti

Avviamento BOOL

Ack

dovete elencare gli acknoledge che confermano l’esecuzione di un comandoAvviato BOOLAvviato BOOL Attesa di riceve un comando Esecuzione comando Nastro.Cmd.Run Nastro.Cmd.Reset

(11)

Interfaccia del modulo NASTRO

סּ In CodeSys è possibile creare un tipo di dato definito dall’utente, che consiste in:

– DUT,(Data Unit Types) tipi di dati definiti dall'utente

Struct

סּ Aggiungi Oggetto >> DataType si aprirà un editor per tipi di dati

סּ L'editor contiene già la predefinizione di una definizione di una struttura.

סּ Inoltre l'editor si apre anche quando un oggetto DUT esistente viene aperto per

essere modificato.

סּ Vogliamo ottenere

NomeModulo.Comando.TipoComando NomeModulo.Ack.TipoAck

(12)

Libreria NASTRO

סּ Nel diagramma degli stati di gestrione del Nastro uso la Function

Block di gestione del hardware

סּ La Function Block riceve dei comandi di ingresso e rende

disponibile dei segnali di uscita:

INPUT per il PLC:

- Fotocellula presenza merce sul nastro

OUTPUT per il PLC

- motore_nastro_abilitato Comando di attivazione del nasto - posizione del prodotto sul nastro

(13)

Modulo GRIPPER

סּ Interfaccia

Cmd

dovete elencare i comandi che possono essere eseguitiManual_mode BOOLAutomatic_mode BOOLAck

dovete elencare gli acknoledge che confermano l’esecuzione di un comando

Avviato BOOL

(14)

Modulo GRIPPER

Attesa di

riceve un comando

Macrostato di funzionamento in manuale

Gripper.Cmd.Manual Gripper.Cmd.Automatic Spostamento a destra Spostamento a sinistra

סּDiagramma degli stati

Gripper.Cmd.Reset Errore Esecuzione del prelievo a destra a sinistra Discesa Salita Attesa selezione comando

(15)

Libreria GRIPPER (Motion)

סּ Nel diagramma degli stati di gestrione del Nastro uso la Function Block di gestione del

hardware

סּ La Function Block riceve dei comandi di ingresso e rende disponibile dei segnali di uscita:

INPUT per il PLC: • sensore_fine_corsa_sinistro • sensore_fine_corsa_destro • sensore_fine_corsa_alto • sensore_fine_corsa_alto • sensore_fine_corsa_basso OUTPUT per il PLC

Il sistema è controllato attraverso i segnali di attuazione:

motore_verticale_abilitazione

motore_verticale_salita: comando che aziona il motore elettrico per la movimentazione del

tamburo sul quale è fissata la fune, in direzione di arrotolamento

motore_orizzontale_abilitazione

motore_orizzontale_destra: comando che attiva il movimento del carroponte lungo la

(16)

סּ Dovete definire un PROGRAM per ogni modulo.

סּ Nel PROGRAM implementerete il diagramma degli stati

con la struttura CASE … OF

סּ La comunicazione tra il modulo Machine Controller e gli

altri moduli avviene usando le strutture dati che avete definito (comandi e acknoledge)

סּ Associare un task ad ogni PROGRAM nella

(17)

Libreria grafica di CodeSys

x x y x y • Gripper

• Absolute Movement  Movement  x

• Relative Movement  Movement topleft  x

 Movement bottomright  x  Movement bottomright  y

y  Movement bottomright  y

• Absolute Movement  Movement  x

Absolute Movement  Movement  y

• Il pezzo • Absolute Movement  Movement  x

 Movement  y

Il pezzo da trasportare si muove sul nastro quando il nastro è in movimento. Quando la pinza preleva il pezzo le coordinate del pezzo devono essere aggiornate con la posizione della pinza. x

(18)

Offset

x = 132 y = 89 Altezza = 33 Larghezza = 27 (in pixel) x = 56 y = 198 Altezza = 30 Larghezza = 26 (in pixel) Offset x = 132 – 56 = 76 Offset y = 198 – 89 = 79

(19)

PLC

PLC

Riferimenti

Documenti correlati

la necessità del Gruppo Addestrativo del Comando Artiglieria di svolgere esercitazioni di tiro con le armi portatili individuali finalizzate all’approntamento per

La razione viveri normale – composizione media – il cui valore in denaro è stabilito nel decreto annuale del Ministro della Difesa adottato di concerto con il Ministro

di un tipo all’interno della sua dichiarazione... Se risulta minore o uguale lo si pone nel sottoalbero di risulta minore o uguale, lo si pone nel sottoalbero di sinistra, ovvero

[r]

CAT5 (AWG23), almeno equivalenti, da posare separati dai cavi di corrente forte3. W1: alimentazione

3­ Cercate di capire quali righe possono essere, utilizzando la tabella allegata e ricordando  che   z= λ osservata −λ riposo. λ riposo ossia  z=

I Carabinieri dei 38 NAS hanno operato, dal 4 al 14 settembre 2018, un monitoraggio in campo nazionale presso istituti scolastici ed educativi (selezionati tra

Congiuntamente a personale dell’Ufficio ICQRF Nord-Est - Area di Udine del Dipartimento dell’Ispettorato Centrale della Tutela della Qualità e della Repressione Frodi