1 / 42

Caratteristiche Principali PLC Siemens CPU 314C-2 DP

Caratteristiche Principali PLC 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.

lexine
Download Presentation

Caratteristiche Principali PLC Siemens CPU 314C-2 DP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Caratteristiche PrincipaliPLC Siemens CPU 314C-2 DP

  2. Prodotti Siemens • Simatic 300 • CPU 3xxx • Simatic 400 • CPU 4xxx • Unico Ambiente di Programmazione Step7 V5.3

  3. Simatic CPU 314C-2 DP • Argomenti Trattati • Area Memoria • Gestione dei Programmi • Unità di I/O • Function Block

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

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

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

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

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

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

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

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

  12. OB1 Gestione dei Programmi • Il S.O. viene eseguito in un loop • Richiama l'OB1 una volta per ciascun loop

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

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

  15. Gestione dei Programmi • L'esecuzione ciclica può essere interrotta • Es. allarmi, errori o interrupt OB x OB y

  16. Gestione dei Programmi • Tempo di Ciclo: variabile • E' possibile impostare un Watchdog (Stop CPU) • E' possibile limitare il Carico di Comunicazione

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

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

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

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

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

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

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

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

  25. 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"

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

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

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

  29. 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 Periodo Durata Impulso

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

  31. Uscite AnalogicheEsempi di Programmazione

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

  33. Ingressi AnalogiciEsempi di Programmazione

  34. 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 #

  35. Function Block

  36. Function Block

  37. Function Block

  38. Function Block

  39. Function Block

  40. Function Block

  41. Function Block

  42. Function Block • Uso memoria statica:

More Related