Caratteristiche Principali PLC Siemens CPU 314C-2 DP.

Post on 01-May-2015

238 views 3 download

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: