Caratteristiche Principali PLC Siemens CPU 314C-2 DP.
-
Upload
concetta-piras -
Category
Documents
-
view
238 -
download
3
Transcript of Caratteristiche Principali PLC Siemens CPU 314C-2 DP.
Caratteristiche PrincipaliPLC Siemens CPU 314C-2
DP
Prodotti Siemens Simatic 300
CPU 3xxx Simatic 400
CPU 4xxx Unico Ambiente di
Programmazione Step7 V5.3
Simatic CPU 314C-2 DP Argomenti Trattati
Area Memoria Gestione dei Programmi Unità di I/O Function Block
Area di Memoria Memoria di Caricamento
Micro Memory Card (64Kbyte) Flash Memory Mantenimento dati per 10 anni Memorizza Blocchi di Codice e Dati Utente Configurazione Hardware e area S.O.
Memoria di Sistema Memoria di Lavoro
Area di Memoria Memoria di Caricamento Memoria di Sistema
Aree Operandi Merker, Temporizzatori e Contatori
Immagini di Processo I/O Dati Locali (temporanei)
Memoria di Lavoro
Area di Memoria Memoria di Caricamento Memoria di Sistema Memoria di Lavoro
Blocchi Codice e Blocchi Dati della porzione di programma da eseguire
Interagisce con la MMC (carico del codice e dei dati)
Memoria Lavoro=48 Kbyte
Area Memoria a Ritenzione Il Programma utente e i dati nella
MMC sono sempre a ritenzione Per i Merker, Temporizzatori e
Contatori (Memoria di Sistema) l'utente stabilisce quali parti debbano essere a ritenzione Es. M0.0-M15.0 sono a ritenzione
Buffer di diagnostica, indirizzo MPI/DP sono a ritenzione
Caricamento Programmi in MMC Caricamento di un Programma
Completo (tutti i blocchi) Cancellazione del programma presente
Caricamento Parziale Aggiornamento di uno o più blocchi Aggiunta di uno o più blocchi
I Programmi memorizzati in una MMC possono essere caricati nel PC
Gestione dei Programmi Sistema Operativo
Gestione avviamento (warm, cold) Aggiornamento immagine I/O Richiamo programma utente Gestione allarmi/errori/aree di
memoria Comunicazione con altri dispositivi
Programma Utente
Gestione dei Programmi Sistema Operativo Programma Utente
suddiviso in Blocchi: Blocchi Organizzativi (OB) Function Block (FB) Funzioni (FC) Function Block di Sistema (SFB) Funzioni di Sistema (SFC) Blocchi Dati di Istanza (DB), per gli FB o SFB
Gestione dei ProgrammiBlocchi Organizzativi (OB) Comandano l'esecuzione dei blocchi di
programma utente Realizzano il task secondo IEC 1131-3
Sono contraddistinti da numeri e priorità OB da 1(Low) a 28(High)
Dentro ogni OB viene scritto un programma (eventualmente con chiamate a SFB, SFC, FB, FC)
Gestione dei Programmi Il S.O. viene
eseguito in un loop
Richiama l'OB1 una volta per ciascun loop
OB1
Gestione dei Programmi In ciascun ciclo il S.O.:
Aggiorna le uscite (IPU) Legge gli ingressi (IPI) Esegue l'OB1 Elabora dati di sistema
OB1
Gestione dei Programmi E' possibile scrivere l'intero programma utente nell'OB1
(Programmazione Lineare) Oppure è possibile scrivere il programma utente nell'OB1 in
termini di chiamate a blocchi (Programmazione Procedurale)
Gestione dei Programmi L'esecuzione ciclica può
essere interrotta Es. allarmi, errori o interrupt OB x
OB y
Gestione dei Programmi Tempo di Ciclo: variabile E' possibile impostare un Watchdog (Stop CPU) E' possibile limitare il Carico di Comunicazione
Gestione dei ProgrammiOB 10 Allarme Orologio Priorità 2 (OB1 ha priorità 1) Viene Parametrizzato:
Esecuzione: una volta, ogni minuto, ogni giorno, ogni settimana, ogni mese, etc.
Data di Avvio Ora di Avvio
Gestione dei ProgrammiOB 20 Allarme di Ritardo Priorità 3 (OB1 ha priorità 1) Permette di eseguire con ritardo
alcune parti del programma utente Esiste una particolare funzione di
sistema (SFC 32) attraverso cui è possibile settare il tempo di ritardo di esecuzione dell'OB 20 (che deve contenere il codice)
Gestione dei ProgrammiOB 35 Schedulazione Orologio Priorità 12 (OB1 ha priorità 1) Permette l'esecuzione periodica di una
porzione di codice Viene Parametrizzato:
Per default 100 ms Nel caso di più processi ciclici (non
nella CPU314C-2DP) è possibile impostare un offset (per evitare avviamento simultaneo)
Gestione dei ProgrammiOB 40 Interrupt di Processo Priorità 16 (OB1 ha priorità 1) Il codice viene eseguito in reazione ad
un segnale di Ingresso E' necessario disporre di una unità di
I/O che supporti l'interrupt di processo Nell'unità di I/O vengono settati gli
ingressi che determinano l'attivazione dell'OB40
Gestione dei ProgrammiOB 40 Interrupt di Processo Nella configurazione hardware degli ingressi
DIGITALI, selezionare: gli ingressi che determinano l'interrupt di processo Il fronte di salita o di discesa (anche entrambi) Il ritardo di ingresso (stabilizzazione del segnale)
Creare l'OB40 Scrivere il codice entro l'OB40 Se si vogliono utilizzare gli ingressi, utilizzare
le variabili locali L8.xx-L11.x Ad esempio L11.x corrisponde a I124.x
Gestione dei ProgrammiOB 40 Interrupt di Processo
Questo codice permette di memorizzare gli ingressi I124.0, I124.1 e I 124.2 quando vi è un fronte di discesa o salita o entrambi (dipende dalla configurazione)
Gestione dei Programmi Esistono degli OB che, se definiti, permettono di
eseguire azioni in caso di eventi: OB 82, Priorità 26: allarme diagnostica
(es.cortocircuito unità di ingresso) OB 85, Priorità 26: errore di esecuzione
programma (es.OB non caricato) OB 86, Priorità 26: guasto al telaio di montaggio OB 87, Priorità 26: errore di comunicazione OB 100, Warm Start
Avviamento Nella CPU 314C-2DP è consentito il solo
Avviamento Warm (Nuovo Avviamento) L'avviamento Warm diviene Cold,
se non vi sono aree di memoria ritentive definite o utilizzate
La CPU esegue un avviamento a caldo: Dopo RETE ON Da Stop a RUN
OB 100 viene eseguito all'avviamento Warm (nessun limite sulla durata)
Avviamento: OB100 Può essere utilizzato per
l'inizializzazione di variabili Per i Merker si utilizza il comando SET La sintassi è SET = variabile (nome o
indirizzo). Ad esempio:SET
= "home_robot" = "home1" = "home2"
Unità di I/O 24 Ix.x digitali (124, 125 e 126)
E' possibile settare interrupt di processo e ritardo di ingresso (filtro)
16 Qx.x digitali (124 e 125) 5 ingressi analogici IW x (752-761)
4 configurabili (tensione, corrente) 1 configurabile come
(termo-)resistenza
Unità di I/O 2 uscite analogiche QW x (752-755)
configurabili (tensione, corrente)
4 canali di conteggio Conteggio eventi Conteggio in avanti o indietro Frequenza massima di conteggio: 60 KHz
Unità di I/O Misura di frequenza
La CPU conta gli impulsi che arrivano entro un tempo di integrazione prestabilito
Tempo di integrazione impostabile tra 10 e 10.000 msec in passi di 1 msec
Il valore di frequenza misurato viene fornito dopo il tempo di integrazione
Frequenze misurabili: da 0 a 60 KHz
Unità di I/O Modulazione ampiezza di impulsi (PWM)
Viene emessa una sequenza di impulsi su una uscita digitale prescelta
L'utente sceglie: Tempo Ritardo di Inserzione, Durata impulso e Durata periodo
Ritardo di Inserzione Durata Periodo
Durata Impulso
Durata Periodo
Uscite AnalogicheEsempi di Programmazione
Ogni uscita analogica viene codificata con un INT (16 bit) -32768, .., +32767
QW n (ogni uscita è identificata da un numero) Codifica in Tensione:
-10 V, .., +10V 0,..,+10V
Codifica in Corrente: -20mA, .., +20mA 0,..,+20mA 4,..,+20mA
Uscite AnalogicheEsempi di Programmazione
Ingressi AnalogiciEsempi di Programmazione
Ogni ingresso analogico viene codificata con un INT (16 bit) -32768, .., +32767
IW n (ogni uscita è identificata da un numero) Codifica in Tensione:
-10 V, .., +10V 0,..,+10V
Codifica in Corrente: -20mA, .., +20mA 0,..,+20mA 4,..,+20mA
Ingresso per lettura di temperatura
Ingressi AnalogiciEsempi di Programmazione
Function Block Sono importantissimi per semplificare il codice e per
renderlo riutilizzabile Essenzialmente la creazione consiste nella definizione di
un Blocco Funzionale e di un Blocco Dati per ogni istanza Per ciascun Blocco Funzionale si possono definire i
parametri formali e le variabili: IN, OUT, IN_OUT, STAT, TEMP Vengono richiamati premettendo il simbolo #
Function Block
Function Block
Function Block
Function Block
Function Block
Function Block
Function Block
Function Block
Uso memoria statica: