STEP7: generalità In una CPU sono eseguiti due programmi distinti: • • Sistema operativo - gestione avviamenti e richiamo OB - gestione immagini di processo di ingresso e di uscita (OB1) - diagnostica e comunicazione con il sistema di programmazione (PG) attraverso canale MPI Programma utente Tipi di avviamento: • Nuovo avviamento (avviamento a caldo) L'elaborazione del programma viene ripresa dall'inizio. I dati rimanenti vengono mantenuti. • Avviamento a freddo I dati attuali vengono eliminati e l'elaborazione del programma ricomincia con i valori di start. • Riavviamento Dopo il ritorno della tensione, il programma viene ripreso al punto di interruzione. “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 1 STEP7: blocchi Vi sono diversi tipi di blocchi che possono essere utilizzati all'interno di programmi utente: Manuale siemens: prog_con_step7[1].pdf “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 2 STEP7: blocchi organizzativi ……….. “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 3 STEP7: OB1 OB1 (programma ciclico) Descrizione Il sistema operativo della CPU S7 elabora ciclicamente l'OB 1; al termine dell'elaborazione dell'OB 1, il sistema operativo inizia una nuova elaborazione dello stesso. L'elaborazione ciclica di OB 1 viene iniziata al termine dell'avviamento. Si può usare OB 1 per richiamare altri blocchi funzionali (FB, SFB) o altre funzioni (FC, SFC). Funzionamento di OB 1 OB 1 ha la priorità più bassa rispetto a tutti gli altri OB. Ad eccezione di OB 90 tutti gli altri OB possono interrompere l'elaborazione di OB 1. Quando l'elaborazione dell'OB 1 è terminata, il sistema operativo invia i dati globali. Prima di riavviare OB 1, il sistema operativo scrive l'immagine di processo delle uscite nelle unità di uscita, aggiorna l'immagine di processo degli ingressi e riceve i dati globali per la CPU. S7 offre un controllo del tempo di ciclo massimo (tip. a 150ms) e un tempo di ciclo minimo. In caso di violazione del tempo di ciclo massimo (es. molti interrupt che allungano OB1) si attiva OB80 e, qualora OB80 non sia stato programmato, la CPU va in STOP “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 4 STEP7: OB1 OB1 (programma ciclico) Dati locali per OB 1 La tabella contiene le variabili temporanee (TEMP) di OB 1, che possono essere utilizzate ai fini diagnostici. Come nomi di variabili sono stati scelti i nomi di default di OB 1. Variabile Tipo OB1_EV_CLASS OB1_SCAN_1 BYTE BYTE OB1_PRIORITY OB1_OB_NUMBR OB1_RESERVED_1 OB1_RESERVED_2 OB1_PREV_CYCLE OB1_MIN_CYCLE OB1_MAX_CYCLE OB1_DATE_TIME Descrizione Classe di evento e identificazioni: B#16#11: OB 1 è attivo ·B#16#01:Fine del nuovo avviamento (avviamento a caldo) ·B#16#02: Conclusione del riavviamento ·B#16#03: Conclusione del ciclo libero ·B#16#04: Conclusione dell'avviamento a freddo ·B#16#05: Primo ciclo di OB1 della nuova CPU master dopo la commutazione master-reserve e STOP del master finora valido BYTE Classe di priorità: 1 BYTE Numero di OB (01) BYTE Riservato BYTE Riservato INT Tempo ciclo della precedente scansione (ms) INT Tempo ciclo minimo (ms) dall'ultimo avviamento INT Tempo ciclo massimo (ms) dall'ultimo avviamento DATE_AND_TIME Data e ora in cui è stato richiamato l'OB1 “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 5 STEP7: IMMAGINI DI PROCESSO OB1 (programma ciclico) IPU (Immagini di processo ingressi) • l’IPI è una cella di memoria • l’IPI si aggiorna fuori da OB1 una volta al ciclo •IPI è campionata • OB1 lavora a ingressi stabili in ogni ciclo • l’ingresso deve essere filtrato (Shannon) Funzioni di Sistema Attivazione tempo di controllo IPU -> uscite fisiche (morsetti) Ingressi fisici ->IPI OB1 (programma utente) Ricezione dati globali IPU (Immagini di processo uscite) • l’IPU è una cella di memoria • l’IPU si aggiorna immediatamente, l’uscita no • l’uscita si aggiorna alla fine con l’ultimo valore • tutte le uscite commutano contemporaneamente Invio dati globali Dati globali I dati globali sono quelli scambiati tra le CPU mediante l’interfaccia MPI “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 6 STEP7: EFFETTO DI ALTRI OB SU OB1 “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 7 STEP7: TEMPO DI CICLO “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 8 STEP7: TEMPO DI CICLO MINIMO “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 9 STEP7: PROGRAMMAZIONE LINEARE E STRUTTURATA “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 10 STEP7: PROGRAMMAZIONE LINEARE E STRUTTURATA “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 11 STEP7: LINGUAGGI “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 12 STEP7: CREARE UN SOFTWARE In STEP7 è possibile: - Definire un’architettura hardware (HW) e quindi scrivere un software (SW) - Scrivere un SW e poi mapparlo ad un’architettura HW Passi per scrivere un nuovo SW: • • • • • • • Avviare Simatic Manager Generare un nuovo file (assegnare nome progetto) Inserisci nuovo oggetto: programma S7 (assegnare nome programma) • La cartella “programma” contiene 3 sezioni: blocchi, sorgenti, simboli • Blocchi contiene il codice logico (OB, FC, FB) e i dati (DB) • Sorgenti permette di salvare file di testo (AWL, SCL) o file grafici (GRAPH) • Simboli è la tabella dei simboli globali Strumenti: simula unità (si apre la finestra di simulazione) Compilare tabella dei simboli e scrivere programma e salvare tutto Caricare con simulatore in Stop (Caricare da Simatic) Attivare Start in simulazione “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 13 STEP7: LA TABELLA DEI SIMBOLI La Tabella dei simboli permette di associare un nome simbolico a blocchi, ingressi, uscite, variabili, temporizzatori,… La tabella dei simboli si compone di più campi: • Simbolo (nome simbolico, es. Start) • Indirizzo (indirizzo fisico, es. I3.2) • Tipo dati (compilato da STEP7 quando si inserisce Indirizzo) • Commento (es. pulsante Start, NA) • Stato (segnalazione di problemi) Es. = indica un simbolo già presente, X indica che la riga è incompleta La tabella dei simboli può essere esportata come file ASCII Si può copiare la tabella dei simboli di un altro programma con drug&drop La tabella dei simboli dispone di strumenti utili (es. Trova: A5.* Sostituisci: A6.*) Esempio: Programma ciclico Restart completo Start Stop Motore Vero OB1 OB100 OB 1 OB 100 I0.0 I0.1 Q0.0 M0.0 Bool Bool Bool Bool Pulsante avviamento motore Pulsante di arresto del motore Motore Bit sempre vero “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 14 STEP7: LA TABELLA DEI SIMBOLI E’ possibile programmare la preferenza al simbolo o al’indirizzo assoluto (da Simatic Manager: Modifica -> Verifica Coerenza blocchi) “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 15 STEP7: I BLOCCHI (OB) OB1 risulta inserito di default e in linguaggio KOP E’ possibile inserire nuovi blocchi (Es. OB100) definendo anche il linguaggio di programmazione (AWL, KOP, FUP) E’ possibile visualizzare in diversi linguaggi “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 16 STEP7: I BLOCCHI FUNZIONALI (FB) Come gli OB, anche gli FB possono essere inseriti nella stessa pagina dove OB1 risulta inserito (blocchi), agendo con il tasto destro NOTA: conviene prima definirli nella tabella dei simboli All’inserimento definire il linguaggio e attivare “multistanza” All’apertura dell’FB si deve definire le variabili di interfaccia cliccando a sinistra su: • • • • In (inserire ingressi. Click destro per visualizzare colonne) Out (uscite) Inout (bidirezionali) Stat (valori “statici”) Quindi si scrive il codice (indirizzamento simbolico ON, visualizza->finestra con…) • E’ possibile utilizzare variabili ad indirizzamento assoluto (Tabella dei simboli) e variabili di interfaccia (DIX, DIW,… compariranno precedute da #) Ogni FB ha uno o più blocchi dati di istanza (DB) • Salvare l’FB e chiuderlo • Inserire un blocco dati di istanza associato all’FB (meglio se pre-dichiarato) • Aprire il DB con “parametrizzazione blocco dati di istanza” (doppio click) • Modificare e personalizzare la colonna valore attuale quindi salvare • Inserire in OB1 l’FB (connetterlo quindi cliccare sul nome, clic dx e inserisci simbolo x DB) (ricordarsi le virgolette per nominare i parametri di ingresso e uscita) “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 17 STEP7: LE FUNZIONI (FC) E I BLOCCHI DATI FC: il procedimento è analogo a quello utilizzato per i blocchi funzionali (FB) tuttavia non è possibile dichiarare variabili STAT (i dati statici di un FB rimangono immutati anche dopo l’elaborazione dell’FB) DB (blocchi dati): esistono due tipi di blocchi dati • Blocchi dati di istanza (assegnato ad un blocco funzionale) • Blocchi dati globali (accessibili a tutti i programmi) DB globali • Inserire dalla pagina blocchi e configurare come blocco globale quindi inserire le variabili DB multiistanza • Si pensi ad un FB (es. FB10) che richiama due volte FBi che fanno riferimento ad un unico DB10 • E’ importante dichiarare in FB10 le variabili STAT FBi1 e FBi2 (tipo) “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 18 STEP7: LE TABELLE DI VARIABILI (VAT) E’ possibile inserire una tabella di variabili (VAT) per controllare e comandare le variabili • • Si inseriscono le variabili mediante simbolo o indirizzo e si salva Dopo aver posizionato in RUN il PLC è possibile verificare lo stato delle variabili (tasto “occhialini”), impostare i valori di comando e trasferirli alla CPU mediante il tasto a destra degli occhialini E’ possibile avere più di una VAT per uno stesso programma “Sistemi e Strumenti per l’Automazione: PLC e SCADA”, Alessandra Flammini, Università di Brescia, Embedded Systems and Smart Sensors Group 19
© Copyright 2024 Paperzz