PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400...

45
Corso su PROGRAMMAZIONE IN LADDER IN AMBIENTE SIMATIC STEP7 creato in esclusiva per Associazione PLC Forum www.plcforum.it Prof.Ing.Salvatore Cavalieri Università di Catania, Facoltà di Ingegneria Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Viale A.Doria 6 95125 Catania (Italy) Tel: +39 095 738 2362, Fax: +39 095 738 2397 E-mail: [email protected]

Transcript of PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400...

Page 1: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Corso su

PROGRAMMAZIONE IN LADDER IN AMBIENTE SIMATIC STEP7

creato in esclusiva per Associazione PLC Forum www.plcforum.it

Prof.Ing.Salvatore Cavalieri Università di Catania, Facoltà di Ingegneria Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Viale A.Doria 6 95125 Catania (Italy) Tel: +39 095 738 2362, Fax: +39 095 738 2397 E-mail: [email protected]

Page 2: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Indice

1 Introduzione ...................................................................................................................................... 1 1.1 Campi d’impiego del Simatic S7-300........................................................................................ 1 1.2 STEP 7 ....................................................................................................................................... 1 1.3 Engineering Tools...................................................................................................................... 1 1.4 Linguaggi di Programmazione ................................................................................................... 2 1.5 SIMATIC Manager .................................................................................................................... 3 1.6 Suddivisione di un Programma in Blocchi ................................................................................ 3

2 Guida Simatic STEP7 ....................................................................................................................... 6 2.1 Avvio di STEP 7........................................................................................................................ 6 2.2 Programmazione con nomi simbolici ........................................................................................ 9 2.3 Indirizzi e tipi di dati ammessi nella tabella dei simboli ......................................................... 10 2.4 Creazione di un programma nell’OB1..................................................................................... 11

2.4.1 Come programmare un circuito in KOP (Ladder) ............................................................ 12 2.5 Configurazione dell‘hardware .................................................................................................. 14

2.5.1 Creazione di stazioni......................................................................................................... 15 2.5.2 Operazioni fondamentali nella configurazione di stazioni ............................................... 16 2.5.3 Definizione delle proprietà dei componenti...................................................................... 17 2.5.4 Proprietà della CPU.......................................................................................................... 17 2.5.5 Ritenzione ......................................................................................................................... 18 2.5.6 Avviamento....................................................................................................................... 19 2.5.7 Salvataggio della configurazione Hardware ..................................................................... 20

2.6 Caricamento, esecuzione e controllo del programma .............................................................. 21 2.6.1 Come caricare il programma nella CPU........................................................................... 21 2.6.2 Come eseguire il programma caricato e controllarlo ........................................................ 22

2.7 S7_PLCSIM............................................................................................................................. 23 2.7.1 Simulazione con S7-PLCSIM........................................................................................... 24 2.7.2 Come utilizzare STEP 7 per controllare la simulazione del programma .......................... 25

3 Esempio di Sviluppo di un'Applicazione ........................................................................................ 28 3.1 Trapano Automatico ................................................................................................................ 28

3.1.1 Progetto Trapano realizzato in linguaggio KOP (Ladder)................................................ 31 3.1.2 Simulazione del progetto Trapano con S7-PLCSIM ........................................................ 38 3.1.3 Come utilizzare STEP 7 per controllare la simulazione del programma .......................... 40

Page 3: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 1

1 Introduzione Nel campo dell'automazione industriale, è sempre più forte la richiesta di una maggiore flessibilità e produttività a prezzi decrescenti. Ciò comporta nuove prestazioni dei sistemi di automazione, per esempio riguardo al set di funzioni e alla velocità di elaborazione. Sono richiesti controllori a logica programmabile (PLC) di piccole dimensioni, con un ampio set di funzioni, elevate velocità di elaborazione e possibilità di interconnessione in rete. Il SIMATIC® S7-300® è tra i controllori più venduti nell'ambito di Totally Integrated Automation, il cui successo è attestato da molte applicazioni di referenza in tutto il mondo nei più svariati settori industriali. Gli utenti dell'S7-300 traggono quindi vantaggio dall'esperienza e dal service mondiale del leader di mercato nonché dalla qualità del SIMATIC. L'S7-300 è concepito per soluzioni di sistema orientate in particolare alla tecnica manifatturiera e rappresenta, quale piattaforma di automazione universale, una soluzione ottimale per applicazioni in strutture centralizzate e decentralizzate. Grazie a continue innovazioni, questa piattaforma di automazione è sempre più potenziata. Esempi ne sono i sistematici sviluppi progressivi delle potenti unità centrali.

1.1 Campi d’impiego del Simatic S7-300 Il Simatic S7-300 offre soluzioni per i più svariati compiti di automazione in molti settori tra i quali: Tecnica manifatturiera, Industria automobilistica, Costruzione di macchine in genere, Costruzione di macchine speciali, Costruzione di macchine standard, Lavorazione della plastica, Industria del confezionamento, Industria alimentare e dei generi voluttuari, Tecnica di processo. La programmazione dell’S7-300 si effettua con il software di base STEP 7. È così possibile sfruttare appieno, in modo facile e comodo, la potenza di questo PLC. Gli strumenti software comprendono le funzioni necessarie per tutte le fasi di sviluppo di un progetto di automazione, dalla progettazione fino alla messa in servizio, al test ed al service.

1.2 STEP 7 STEP 7 è il pacchetto di base utilizzato per configurare e programmare i sistemi di automazione SIMATIC. Esso rappresenta parte integrante del software industriale SIMATIC. STEP 7 è utilizzato per applicazioni di dimensioni o complessità superiori per le quali è necessaria ad esempio una programmazione con linguaggi evoluti o linguaggi di tipo grafico (vedi Engineering Tools), oppure è richiesto l’impiego di unità funzionali o di unità di comunicazione. Sotto STEP 7 possono essere utilizzati pacchetti software SIMATIC addizionali come ad esempio gli Engineering Tools.

1.3 Engineering Tools Gli Engineering Tools aprono nuove possibilità di programmare con facilità soluzioni di automazione mirate al compito specifico. Essi comprendono: Ø linguaggi avanzati per programmatori Ø linguaggio grafico per tecnici Ø software complementare per diagnostica, simulazione, manutenzione a distanza,

documentazione degli impianti, ecc.

Page 4: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 2

Sono disponibili per la programmazione i seguenti strumenti: Ø S7-SCL (Structured Control Language), il linguaggio evoluto basato sul linguaggio

PASCAL per la programmazione di controllori SIMATIC S7/C7. Ø S7-GRAPH. E' un linguaggio di programmazione che descrive i comandi sequenziali

(programmazione con catene di passi). Il processo viene suddiviso in passi, che contengono in particolare azioni per comandare le uscite. La transizione da un passo all'altro viene controllata mediante condizioni di avanzamento.

Ø S7-PLCSIM consente di simulare i controllori programmabili S7 collegati al sistema di origine a scopo di test.

Ø S7-HiGraph®, per la descrizione grafica di processi sequenziali o asincroni con grafi di stato per SIMATIC S7/C7.

Ø CFC (Continuous Function Chart), lo schema tecnologico per la combinazione grafica di funzioni complesse con SIMATIC S7.

Ø Distributed Safety. Pacchetto software per lo sviluppo di programmi di sicurezza in KOP (Ladder) e FUP (Function Block) inclusa biblioteca, con esempi di programmazione.

L’impiego degli Engineering Tools è vantaggioso soprattutto con applicazioni di dimensioni o complessità superiore e con CPU di potenza più elevata.

1.4 Linguaggi di Programmazione Tutte le CPU possono essere programmate nei linguaggi base AWL, KOP e FUP. I linguaggi di programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio di programmazione Ladder. La sintassi delle

istruzioni assomiglia ad uno schema di circuito. KOP consente all'utente di seguire in modo semplice il flusso dei segnali tra sbarre collettrici, contatti, elementi complessi e bobine.

1. AWL (lista istruzioni) è un linguaggio di programmazione testuale vicino al linguaggio macchina. Quando si crea un programma in AWL, le singole istruzioni corrispondono in larga misura alle operazioni con le quali la CPU elabora il programma.

2. FUP (schema funzionale) è un linguaggio grafico di programmazione che rappresenta la logica mediante i box dell'algebra booleana. Esso consente inoltre di rappresentare funzioni complesse (ad esempio le funzioni matematiche) direttamente in connessione con i box logici.

Altri linguaggi di programmazione sono disponibili come software opzionali.

Page 5: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 3

1.5 SIMATIC Manager Il SIMATIC Manager è il software che gestisce i dati appartenenti a un progetto di automazione, indipendentemente dal sistema di destinazione per cui sono realizzati (S7/M7/C7). Le applicazioni necessarie per la modifica dei dati prescelti vengono avviate automaticamente dal SIMATIC Manager.

Il software di programmazione STEP 7 offre la possibilità di strutturare il programma utente, ovvero di suddividerlo in singole sezioni indipendenti, ottenendo i seguenti vantaggi: Ø i programmi di grandi dimensioni possono essere programmati in modo chiaro; Ø le singole parti del programma possono essere standardizzate; Ø l'organizzazione del programma viene semplificata; Ø le modifiche del programma si possono eseguire più facilmente; Ø il test del programma viene semplificato, poiché può essere eseguito per sezioni; Ø la messa in servizio viene facilitata.

1.6 Suddivisione di un Programma in Blocchi Un processo di automazione può essere suddiviso razionalmente in compiti distinti. Le sezioni di un programma utente strutturato corrispondenti ai singoli compiti vengono definite blocchi di programma . Vi sono diversi tipi di blocchi che possono essere utilizzati all'interno di programmi utenti S7. La seguente tabella riassume le tipologie di blocchi di programma disponibili.

Page 6: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 4

OB, FB, SFB, FC e SFC contengono parti del programma, e vengono pertanto definiti come blocchi di codice. I Blocchi dati permettono di istanziare uno o più blocchi di codice FB, memorizzando tutte le variabili locali a ciascuna istanza del blocco. Nei controllori a logica programmabile l'elaborazione ciclica del programma rappresenta l'elaborazione prevalente: il sistema operativo viene eseguito in un loop di programma (detto ciclo), e richiama quindi in ogni ciclo per una volta il blocco organizzativo OB 1 nel programma principale. Anche il programma utente nell'OB 1 viene elaborato in modo ciclico.

È possibile scrivere l'intero programma utente nell'OB 1 (programmazione lineare). Questa operazione è consigliabile solo per programmi semplici che girano sulle CPU S7-300 occupando poca memoria. I compiti di automazione complessi possono essere elaborati meglio se vengono suddivisi in compiti parziali più piccoli, che corrispondono alle funzioni tecnologiche del processo di automazione o che devono essere utilizzati più volte. Nel programma utente, i compiti parziali sono rappresentati dai corrispondenti segmenti di programma, ossia dai blocchi (programmazione strutturata). La seguente figura mostra un esempio di programmazione basata sull'utilizzo degli FC e FB. Come si vede il codice contenuto nell'OB1, richiama prima un FB (FB1) e poi un FC (FC1).

Page 7: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 5

Oltre all'OB1 esistono altri OB, che vengono eseguiti in dipendenza di particolari eventi, anche impostabili dall'utente. Tra di essi ricordiamo l'OB 100, che viene eseguito in corrispondenza di un nuovo avviamento (avviamento a caldo). Per definire le condizioni marginali per il comportamento all'avviamento della CPU (valori di inizializzazione per RUN, valori di avviamento per le unità di periferia), occorre memorizzare il programma di avviamento nel blocco organizzativo OB 100. Il programma di avviamento può avere una lunghezza qualsiasi; per la sua esecuzione non esiste alcun limite di tempo e il controllo del tempo di ciclo non è attivo.

Page 8: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 6

2 Guida Simatic STEP7

2.1 Avvio di STEP 7 Dopo aver avviato Windows sulla superficie operativa compare l'icona del SIMATIC Manager che serve per entrare nel software STEP 7.

Fare doppio clic sul simbolo SIMATIC Manager nel desktop di Windows. E' possibile a questo punto creare un nuovo progetto o aprirne uno già esistente. Nel seguito verrà illustrato come creare un nuovo progetto. Vi sono due possibilità: manuale e guidata. La prima permette una maggiore personalizzazione del progetto, ma richiede una certa esperienza. La seconda viene eseguita da un "Assistente" che permette anche all'utente meno esperto di creare rapidamente un'applicazione. Nel seguito si farà riferimento a tale modalità. L'assistente dovrebbe avviarsi automaticamente all'avvio di SIMATIC Manager. Se l’Assistente non si avvia automaticamente, richiamare il comando di menu File > Assistente "Nuovo progetto".

Con Anteprima è possibile attivare e disattivare la struttura del progetto che viene creato. Con Avanti si giunge alla seconda finestra di dialogo

Page 9: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 7

Selezionare il modello di CPU da utilizzare. Nel resto de documento si farà riferimento alla CPU314C-2DP versione firmware 2.0. L‘indirizzo MPI (Multi PointInterface), necessario per la comunicazione della CPU con il PG/PC,è preimpostato. Con Avanti si confermano le impostazioni e si giunge alla finestra di dialogo successiva.

Selezionare i blocchi organizzativi che si desiderano vengano creati automaticamente. Il blocco organizzativo OB1 è quello necessario e deve essere selezionato (a meno che questo non sia già selezionato). Se si desidera possono essere selezionati altri blocchi (ad esempio l'OB 100), oppure questi possono essere creati più in avanti, quando servono. Scegliere il linguaggio di programmazione KOP, FUP o AWL, per la programmazione del o dei blocchi organizzativi selezionati. In ogni caso è sempre possibile cambiare il linguaggio successivamente. Confermare le impostazioni con Avanti.

Page 10: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 8

Nella casella "Nome progetto" scegliere con doppio clic il nome proposto, per esempio “Getting Started “. Con Fine il nuovo progetto viene generato come nell’anteprima e memorizzato. Non appena è chiuso l’Assistente di STEP 7, compare il SIMATIC Manager con la finestra di progetto "Getting Started" aperta. Da questa finestra vengono richiamate tutte le funzioni e le finestre di STEP 7.

Page 11: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 9

2.2 Programmazione con nomi simbolici In un programma STEP 7 si utilizzano operandi quali segnali Ingresso/Uscita (I/Q o E/A, in dipendenza della notazione standard o tedesca, rispettivamente), merkers (ossia bit di memoria interna), contatori, temporizzatori, blocchi dati e blocchi funzionali. Questi operandi possono essere indirizzati in modo assoluto nel programma utente; tuttavia, la leggibilità dei programmi aumenta considerevolmente se si utilizzano simboli. Nel programma utente sarà quindi possibile indirizzare l'operando mediante il simbolo prescelto. L’indirizzo assoluto può essere sostituito da nomi simbolici a libera scelta.

Page 12: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 10

Nella finestra del progetto "Getting Started" navigare a Programmi S7 (1) e con un doppio clic aprire l'oggetto Simboli.

La tabella dei simboli è costituita momentaneamente solo dal blocco organizzativo predefinito OB1, che si suppone sia stato l'unico blocco creato in fase di apertura del progetto.

Se si desidera modificare il nome del blocco ciclico, fare clic su Cycle Execution e sostituirlo, per il nostro esempio, con "Programma principale". A questo punto nelle righe successive possono essere inseriti tutti i simboli che servono ed associarli agli opportuni ingressi/uscite/merker/timer/contatori. Ad esempio, nella riga 2 introdurre il simbolo "Lampadina verde" e associarlo all'indirizzo assoluto "A 124.0". Si noti che il simbolo A si riferisce, nella notazione tedesca, alle uscite del PLC. Nella sezione seguente verrà spiegato come sia possibile cambiare la notazione tedesca in notazione internazionale (IEC). Il tipo di dati viene aggiunto automaticamente. Fare clic nella colonna di commento di ciascuna riga per introdurre, se si desidera, un commento relativo al simbolo in questione. Le introduzioni di una riga vengono concluse con Invio; in tal modo è possibile inserire una nuova riga. Sempre ad esempio, introdurre nella riga 3 il simbolo "Lampadina rossa" e associarlo all'uscita "A 124.1"; terminare l’introduzione con Invio. Poi si introduca nella riga 4 e 5 i simboli "Pulsante 1", associandolo all'indirizzo "E 124.0", e "Pulsante 2" associandolo all'indirizzo "E 124.1"; ciascun inserimento deve essere completato con Invio , come già detto. Si noti che il simbolo E si riferisce, nella notazione tedesca, agli ingressi del PLC. Nella sezione seguente verrà spiegato come sia possibile cambiare la notazione tedesca in notazione internazionale (IEC). Salvare le introduzioni o le modifiche nella tabella dei simboli e chiudere la finestra.

2.3 Indirizzi e tipi di dati ammessi nella tabella dei simboli È possibile utilizzare una sola notazione in tutta la tabella dei simboli, tra le due possibili: notazione tedesca (ex SIMATIC) e quella internazionale (IEC 61131-3). La commutazione tra le due notazioni deve avvenire nel SIMATIC Manager sotto Strumenti > Impostazioni nella scheda "Lingua e mnemonico".

Page 13: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 11

Di seguito si riporta la corrispondenza tra notazione internazionale e tedesca, il tipo di dati e il campo di valori, ammessi nella creazione della tabella dei simboli.

2.4 Creazione di un programma nell’OB1 Con STEP 7 i programmi S7 vengono creati nei linguaggi di programmazione standard KOP, AWL oppure FUP. E' possibile programmare anche con altri linguaggi opzionali (SFC, ad esempio). In questo documento si farà riferimento ai linguaggi KOP (Ladder) e AWL (lista istruzioni).

Fare doppio clic su OB1 nel progetto "Getting Started". Si apre la finestra del programma “KOP/AWL/FUP”. In tale finestra è possibile scrivere il programma contenuto nell'OB1, in uno dei tre linguaggi prima elencati. Per default la finestra permette la scrittura nel linguaggio scelto in fase di creazione dell'OB1. Per modificare il linguaggio di programmazione, basta selezionarlo nella finestra "Visualizza", come mostrato nella figura seguente (che si riferisce al caso in cui l'OB1 venga programmato utilizzando il KOP).

Page 14: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 12

2.4.1 Come programmare un circuito in KOP (Ladder) Impostare il linguaggio di programmazione KOP tramite il menu Visualizza. Come già detto, tale linguaggio è già impostato se è stato scelto nella fase di creazione dell'OB1.

Page 15: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 13

Fare clic nell’area Titolo dell‘OB1 e introdurre per esempio "Programma principale elaborato ciclicamente". Ovviamente ciò è assolutamente facoltativo ed ininfluente al fine del programma.

La finestra di programma “KOP/AWL/FUP” aperta, presenta un solo rung (segmento) composto da una linea elettrica orizzontale. Al fine di inserire gli opportuni simboli Ladder, selezionare il rung. Fare clic sul simbolo nella barra degli strumenti ed inserire un contatto normalmente aperto.

Inserire analogamente un secondo contatto normalmente aperto. All’estremità destra del segmento inserire una bobina (coil).

Nel circuito in serie mancano ancora gli indirizzi dei contatti normalmente aperti e della bobina. Compaiono al loro posto dei simboli "??.?". Se si desidera inserire simboli e non indirizzi assoluti, verificare se è attivata la rappresentazione simbolica. Visualizza > Finestra con > Rappresentazione simbolica

Fare clic su ??.? e introdurre il nome simbolico "Pulsante 1" (tra virgolette). Si ricordi che nella sezione 2.2 questo simbolo, come gli altri utilizzati nel seguito, sono stato creati nella tabella dei simboli. In alternativa, scegliere il nome nella casella di riepilogo visualizzata. Confermare premendo Invio.

Page 16: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 14

Introdurre il nome simbolico "Pulsante2" per il secondo contatto normalmente aperto. Introdurre il nome "Lampadina verde" per la bobina. Alla fine si otterrà l'ultimo segmento mostrato nella seguente figura.

Per Inserire un ramo parallelo. Selezionare il power line (ramo verticale) del rung e cliccare sul simbolo inizio diramazione.

Nel ramo parallelo viene inserito per esempio un altro contatto normalmente aperto. Chiudere la diramazione cliccando sul simbolo fine diramazione.

Per l’indirizzamento simbolico procedere come sopra.

Salvare il blocco OB1 (tramite il pulsante ) se non vi sono più simboli contrassegnati in rosso. I simboli vengono contrassegnati in rosso se per esempio il simbolo non è contenuto nella tabella dei simboli oppure vi è un errore sintattico. Chiudere la finestra di programma “KOP/AWL/FUP”.

2.5 Configurazione dell‘hardware L'obiettivo della configurazione hardware è quello di riprodurre, nel progetto software, tutta la composizione dell'hardware su cui dovrà essere eseguito il software, ossia il tipo di alimentatore, il telaio di montaggio, il tipo di CPU, il numero e la tipologia delle periferiche connesse alla CPU. Nella "configurazione dell'hardware" dovranno essere descritti tutti i componenti hardware coinvolti nell'esecuzione del programma in via di definizione. Ad esempio se la CPU utilizza una periferica decentralizzata con cui scambia informazioni tramite un particolare protocollo di comunicazione (ad esempio Profibus DP), sarà necessario descrivere, oltre a tutte le caratteristiche della CPU, anche il tipo di periferica e le caratteristiche della comunicazione tra CPU e periferica. Tutti i dispositivi che si possono specificare nel progetto sono rappresentati da oggetti software contenuti in catalogo fornito con il software Step7 (vi è anche la possibilità di aggiungere altri dispositivi prodotti da terze parti).

Page 17: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 15

Tutti i dispositivi descritti nella configurazione hardware vengono riportati in una tabella di configurazione, in cui STEP 7 assegna automaticamente un indirizzo ad ogni unità.

2.5.1 Creazione di stazioni Il primo passo per la configurazione dell'hardware è la creazione di una stazione. Ciò dovrebbe essere stato fatto in automatico se è stata utilizzata la creazione del progetto tramite l'assistente. Nel caso in cui si voglia creare un progetto senza l'aiuto dell'assistente, al fine di creare una stazione, è necessario procedere nella seguente maniera. Dopo aver avviato il SIMATIC Manager:

1. Selezionare il progetto nel lato sinistro della finestra di progetto. 2. Selezionare il comando Inserisci > Stazione > Stazione SIMATIC 300. Ciò nel caso si

voglia creare un progetto basato su una CPU della serie 300. Altrimenti si scelga il nome di un'altra stazione, ad esempio Stazione SIMATIC 400.

La stazione viene creata con un nome predefinito. Si potrà ovviamente sostituirlo con un altro nome più opportuno. Dovrebbe comparire una finestra del tipo:

Selezionare nella finestra di progetto l'oggetto "Stazione" , in modo che sia visibile l'oggetto

"Hardware" nel lato destro della finestra della stazione, come mostra nella figura precedente. Adesso, fare doppio clic sull'oggetto "Hardware". Si aprirà la seguente maschera.

Page 18: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 16

Nella configurazione del sistema di automazione si opera sostanzialmente con due finestre:

• ?finestra delle stazioni in cui si collocano i telai di montaggio per la configurazione delle stazioni (a destra).

• finestra "Catalogo hardware", in cui si selezionano i componenti hardware di cui si ha necessità, per esempio unità e moduli di interfaccia (a sinistra).

Se la finestra "Catalogo hardware" non è aperta, selezionare il comando Visualizza > Catalogo che consente di attivarla e disattivarla.

2.5.2 Operazioni fondamentali nella configurazione di stazioni Per realizzare la configurazione si deve procedere nel seguente modo:

1. Selezionare i componenti hardware nella finestra "Catalogo hardware". 2. Trascinare i componenti scelti nella finestra delle stazioni con drag & drop. Ad esempio si

provi a selezionare dal catalogo la CPU314C-2DP che abbia la versione firmware 2.0. La figura seguente illustra il modo di procedere standard.

Nella parte inferiore della finestra delle stazioni viene visualizzata la vista dettagli del telaio di montaggio inserito o selezionato. Essa contiene una tabella che riporta i numeri di ordinazione e gli indirizzi delle unità.

Page 19: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 17

2.5.3 Definizione delle proprietà dei componenti Dopo aver disposto i componenti nella finestra delle stazioni, sarà sempre possibile aprire una finestra di dialogo per modificare le proprietà preimpostate (parametri e indirizzi) nel modo qui descritto: Ø Fare doppio clic sul componente, o selezionare il comando Modifica > Proprietà

dell'oggetto; Ø con il tasto destro del mouse spostare il cursore del mouse sul componente, premere il tasto

destro e selezionare dal menu contestuale il comando Proprietà dell'oggetto Proprietà di unità centrali

2.5.4 Proprietà della CPU E' importante capire come riuscire a modificare le impostazioni di default di una CPU. Cliccando due volte sul componente CPU nella finestra delle stazioni, si apre la seguente maschera in cui è possibile impostare: Ø comportamento all'avviamento, Ø area dati locali e priorità di allarmi, Ø aree di memoria comportamento ritentivo, Ø merker di clock, tempo di ciclo.

Page 20: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 18

Di seguito si approfondiscono i concetti relativi all'Avviamento e alla Ritenzione.

2.5.5 Ritenzione Durante l’esecuzione del processo industriale possono verificarsi delle anomalie, ad esempio cadute di tensione, che comportano l’interruzione del processo. Per far in modo che il processo riparta dall’ultimo stato, e non dall’inizio, è necessario utilizzare delle variabili capaci di memorizzare l’ultimo valore assunto prima del verificarsi dell’anomalia. Tali variabili vengono dette a “ritenzione”. Il PLC può offrire la possibilità di salvare queste variabili in batterie tampone o in apposite aree di memoria. Nel SIMATIC S7 le informazioni che si trovano nelle aree RAM (nella memoria di lavoro) possono essere: Ø salvate con l'ausilio di una batteria tampone. In questo caso il contenuto della memoria di

lavoro e dell'area di memoria di scrittura/lettura della memoria di caricamento viene conservato, così come i contatori, temporizzatori e merker (l'area è parametrizzabile);

Ø salvate senza batteria tampone (assenza di manutenzione). In questo caso può essere memorizzato in modo permanente un numero massimo (specifico della CPU) di dati provenienti dalla memoria di lavoro, dall'area di memoria di scrittura/lettura della memoria di caricamento e nonché un numero massimo di temporizzatori, contatori e merker nel buffer di backup della CPU.

Considerando, ad esempio, la CPU314C-2DP, essa offre la possibilità di salvare tali variabili senza batteria tampone, e consente di impostare, attraverso una opportuna maschera, le aree di memoria a

Page 21: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 19

ritenzione. Di seguito viene illustrata la scheda “Ritenzione” nella quale è possibile indicare i byte di merker, i temporizzatori e i contatori con ritenzione preimpostata.

Come si vede, per default, i primi 16 Bytes di Merkers sono a ritenzione.

2.5.6 Avviamento In STEP7 esistono tre tipologie di avviamento:

• Riavviamento • Nuovo avviamento (avviamento a caldo) • Avviamento a freddo

La tipologia di avviamento dipende dalla CPU utilizzata. Ad esempio, per la CPU314C2-DP è previsto solo il Nuovo Avviamento. Per definire la modalità di avviamento della CPU in STEP7 si utilizzano i blocchi organizzativi per l’avviamento. Questi vengono elaborati prima dell’elaborazione ciclica del programma (OB1). Ne esistono tre tipi:

• Riavviamento OB 101 • Nuovo avviamento (avviamento a caldo) OB 100 • Avviamento a freddo OB 102

Quando in S7 si avvia un'unità centrale, prima dell'elaborazione ciclica del programma (OB1) vengono elaborati il blocco organizzativo OB101 oppure il blocco organizzativo OB100 (nuovo avviamento) oppure il blocco organizzativo OB102 (avviamento a freddo).

Page 22: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 20

In particolare il Nuovo Avviamento corrisponde all'avviamento a caldo secondo la norma IEC 61131. Per tale tipo di avviamento vale quanto segue (a condizione che la CPU sia bufferizzata): Ø Tutti i blocchi dati e il loro contenuto vengono mantenuti Ø Temporizzatori, contatori e merker ritentivi vengono mantenuti mentre quelli non ritentivi

vengono resettati. Nel caso di nuovo avviamento viene letta l'immagine di processo degli ingressi e viene elaborato il programma utente STEP 7 partendo dal primo comando nel blocco OB1.

2.5.7 Salvataggio della configurazione Hardware Per salvare la configurazione HW selezionare Stazione>Salva e compila. I dati vengono preparati per il trasferimento nella CPU. Una volta chiusa la "Configurazione HW”, nella cartella Blocchi viene visualizzato il simbolo “Dati di sistema”.

Page 23: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 21

2.6 Caricamento, esecuzione e controllo del programma Il presupposto per il caricamento, l'esecuzione e il controllo passo passo del programma è la presenza del collegamento tra PLC e PC tramite l'opportuno cavo in dotazione (convertitore RS485/RS232). Agire sull'interruttore ON/OFF dell'alimentatore. Selezionando ON, si accende il diodo "DC 5V" sulla CPU.

Ruotare il selettore dei modi operativi su STOP (a meno che non sia già su STOP). Si accende il LED rosso "STOP" .

2.6.1 Come caricare il programma nella CPU Supposto il PLC in posizione Stop, avviare il SIMATIC Manager e aprire il progetto da caricare nel PLC. Ad esempio si consideri il progetto "Getting Started" creato nelle sezioni precedenti. Oltre alla finestra "Getting started Offline", aprire la finestra "Getting Started Online". La finestra Online permette di visualizzare lo stato del programma caricato nel PLC; tra le altre cose essa permette di assistere all'evoluzione del programma, mentre esso viene eseguito dal PLC. Lo stato Offline/Online è identificato da un cambiamento di colore nella riga di intestazione. Per aprire la finestra Online, scegliere Visualizza > Online.

Nelle due finestre (OffLine e OnLine) navigare fino a giungere alla cartella Blocchi. La finestra "Offline" mostra la situazione sul PG, la finestra "Online" mostra la situazione sulla CPU.

Page 24: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 22

Selezionare nella finestra "Offline" la cartella Blocchi e caricare il programma nella CPU tramite Sistema di destinazione > Carica. Confermare l’interrogazione con OK.

Nella finestra "Online" vengono visualizzati, dopo il caricamento, i blocchi del programma.

In alternativa, è possibile caricare un programma, navigando nella finestra Offline fino all'oggetto "Stazione SIMATIC 300" (per le CPU 300), e caricare tutto l'oggetto (includendo anche il programma OB1) nella CPU tramite Sistema di destinazione > Carica.

2.6.2 Come eseguire il programma caricato e controllarlo Una volta caricato correttamente il blocco OB1 o tutto l'oggetto Stazione, girare il selettore di modi operativi su RUN. Il LED verde "RUN" è acceso e si spegne il LED rosso "STOP". La CPU inizia ad eseguire gli OB. E' possibile, in questa fase, che si accendano dei led di diagnostica. Per una diagnostica dell’errore è necessario analizzare il buffer di diagnostica. Al fine di controllare il programma in esecuzione, aprire l‘OB1 nella finestra di progetto "Getting Started Online". Viene aperta la finestra del programma “KOP/AWL/FUP”.

Page 25: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 23

Attivare la funzione Test > Controlla.

Nel caso si abbia un programma in KOP, si vedranno i rung in modo simile a quello mostrato in seguito.

Viene visualizzato il circuito in serie nel segmento 1 in KOP. Il rung viene rappresentato come linea continua fino al pulsante 1, il che significa che qui è applicata la tensione. La linea tratteggiata indica, invece, l'assenza di corrente.

Supponendo, adesso, di fornire tensione agli ingressi fisici corrispondente ai simboli "Pulsante 1" e "Pulsante 2" (E 124.0 e E 124.1, nell'esempio), si vedrà un cambiamento della linea nel rung, che diventerà continua per indicare che adesso la corrente fluisce verso destra ed alimenta il coil. L'uscita fisica corrispondente al simbolo "Lampadina verde" verrà alimentata. In corrispondenza si vedrà l'uscita fisica corrispondente al simbolo "Lampadina verde", accendersi.

Disattivare Test > Controlla e chiudere la finestra. Chiudere nel SIMATIC Manager la finestra "Online".

2.7 S7_PLCSIM Il software S7-PLCSIM consente di eseguire e testare i programmi utente su un controllore programmabile (PLC) simulato nel proprio PC o PG. La simulazione viene effettuata interamente dal software STEP 7, per cui non è necessario essere collegati ad alcun componente hardware S7 (CPU od unità I/O). Utilizzando il PLC S7 simulato l'utente può controllare e testare i programmi per le CPU S7-300 e S7-400 e per WinLC. S7-PLCSIM mette a disposizione un'interfaccia molto semplice in cui controllare e modificare vari parametri del programma (ad esempio attivare e disattivare gli ingressi). Inoltre consente di utilizzare le diverse applicazioni di STEP 7 mentre si esegue il programma utente sul PLC simulato. È quindi possibile usare tool quali esempio la tabella delle variabili (VAT) per controllare e modificare le variabili.

Page 26: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 24

S7-PLCSIM presenta inoltre le seguenti caratteristiche:

Ø La simulazione viene attivata e disattivata dal pulsante collocato sulla barra degli strumenti del SIMATIC Manager. Attivando il pulsante di simulazione si apre il software S7-PLCSIM con la CPU simulata. Quando S7-PLCSIM è in esecuzione la comunicazione passa automaticamente da STEP 7 alla CPU simulata.

Ø Possono essere create "sottofinestre" che permettono di accedere alle aree di memoria di ingressi e uscite, temporizzatori, merkers (bits), contatori, accumulatori e ai registri del PLC simulato. Si può accedere alla memoria anche mediante indirizzamento simbolico. Si può decidere che i temporizzatori vengano eseguiti automaticamente oppure è possibile impostarli e resettare manualmente. Si possono inoltre resettare i temporizzatori individualmente o globalmente.

Ø Come per le CPU reali, il modo di funzionamento CPU (RUN, STOP) può essere facilmente selezionato e commutato. Inoltre S7-PLCSIM prevede il modo Interrompi che permette di arrestare temporaneamente la CPU senza modificare lo stato del programma.

Ø Si possono utilizzare OB di allarme nel PLC simulato per verificare le reazioni del programma.

Ø È possibile registrare una serie di eventi (manipolare le aree di memoria degli ingressi e delle uscite, merker, temporizzatori e contatori) e riprodurre la registrazione effettuata per automatizzare i test di programma.

S7-PLCSIM consente di utilizzare tutte le applicazioni di STEP 7 per controllare e modificare le attività del PLC simulato e per testare il programma utente. Malgrado il PLC simulato esista soltanto nel software (senza richiedere uno speciale hardware), STEP 7 opera come se il PLC simulato fosse un vero componente hardware.

2.7.1 Simulazione con S7-PLCSIM Per iniziare ad utilizzare S7-PLCSIM, effettuare le seguenti operazioni:

1. Aprire il SIMATIC Manager. 2. Nel SIMATIC Manager, aprire il progetto che si vuole simulare.

3. Fare clic su oppure selezionare il comando di menu Strumenti > Simula unità. Questa operazione avvia l'applicazione S7-PLCSIM ed apre una sottofinestra CPU (in basso a destra viene visualizzato l'indirizzo MPI di default: 2).

4. All'interno del progetto, portarsi sull'oggetto "Blocchi" o sull'oggetto "Stazione SIMATIC 300". Quest'ultimo oggetto compare se si è creato un progetto basato sulla CPU 300, altrimenti comparirebbe l'oggetto "Stazione SIMATIC 400", nel caso di CPU 400.

5. Nel SIMATIC Manager, fare clic su oppure selezionare il comando di menu Sistema di destinazione > Carica per caricare l'oggetto "Blocchi" o "Stazione SMATIC 300" o "Stazione SMATIC 400" nel PLC simulato.

6. Durante il caricamento, viene chiesto se "si desidera cancellare completamente i dati di sistema del sistema di automazione e sostituirli con i dati di sistema offline". Si può rispondere scegliendo tra le possibilità seguenti:

a. Azionare il pulsante “Sì” (soluzione consigliata) per ottenere una configurazione il più coerente possibile sul sistema di automazione (tutti i dati di sistema dell'unità vengono cancellati prima del caricamento vero e proprio).

Page 27: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 25

b. Azionare il pulsante “No” (soluzione opportuna solo in casi eccezionali) se devono essere cancellati solo i dati di sistema dell'unità che vengono sostituiti dai dati di sistema offline.

c. Azionare il pulsante “Annulla” se non deve essere eseguito il caricamento. 7. Nell'applicazione S7-PLCSIM, creare ulteriori "sottofinestre" per controllare le

informazioni dal PLC simulato:

• Fare clic su oppure selezionare il comando di menu Inserisci > Ingresso. La sottofinestra visualizza IB 0 (byte di ingresso 0). E' possibile modificare il valore del byte da visualizzare.

• Fare clic su oppure selezionare il comando di menu Inserisci > Uscita per inserire un'ulteriore sottofinestra QB 0 (Output Byte 0). E' possibile modificare il valore del byte da visualizzare.

• Fare clic su oppure selezionare il comando di menu Inserisci >Temporizzatore per inserire l’oggetto "Temporizzatore". E' possibile specificare il numero del timer da visualizzare e la relativa base dei tempi.

• Fare clic su oppure selezionare il comando di menu Inserisci >Contatore per inserire l’oggetto "Contatore". E' possibile specificare il numero del contatore che si desidera visualizzare e la relativa base (decimale, esadecimale, etc.) per la rappresentazione del suo valore.

• Fare clic su oppure selezionare il comando di menu Inserisci >Merker per inserire l’oggetto "Meker". La sottofinestra visualizza M 0 (byte di Merker 0). E' possibile modificare il valore del byte da visualizzare.

8. Selezionare il menu Sistema di destinazione in S7-PLCSIM e verificare che accanto ad Alimentazione compaia un pallino (•).

9. Selezionare Esegui > modo di scansione e verificare che compaia un pallino (•) accanto a Ciclo continuo. E' possibile scegliere anche ciclo singolo, ma ciò comporta la necessità di far avanzare la simulazione di una scansione alla volta. Tale modalità è utile nella fase di ricerca di eventuali errori semantici commessi nella scrittura del programma. Inoltre, essa è assai utile per comprendere il principio di funzionamento ciclico del PLC.

10. Commutare la CPU simulata in RUN facendo clic sulla casella RUN oppure RUN-P check. 11. Fare clic sui bit di ingresso per simulare l'attivazione di uno o più ingressi ed osservare gli

effetti di questa operazione sul programma.

12. Fare clic su oppure selezionare il comando di menu File > Salva PLC con nome... per salvare come nuovo file lo stato corrente del PLC simulato.

2.7.2 Come utilizzare STEP 7 per controllare la simulazione del programma È possibile utilizzare i tool di STEP 7 per controllare la simulazione del programma:

1. Dopo aver creato le sottofinestre (vedere sopra al punto 7), entrare nel SIMATIC Manager.

2. Fare clic su oppure selezionare il comando Visualizza > Online per passare al modo online. Compare una finestra del tipo:

Page 28: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 26

3. Spostarsi all'oggetto "Blocchi" nel progetto. Comparirà una finestra del tipo:

4. Cliccare sul blocco OB1. Questa operazione richiama l'applicazione "KOP/AWL/FUP" . 5. Quando la CPU simulata si trova in modo RUN, passare alla finestra dell'applicazione

"KOP/AWL/FUP" e selezionare Test > Controlla. Comparirà una finestra del tipo:

Page 29: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 27

6. Agendo sugli ingressi nella finestra S7-PLCSIM, è possibile vedere l'evoluzione del programma e visualizzare contemporaneamente nella finestra S7-PLCSIM le uscite, i timers, i contatori e i merkers. Come si vede dalla figura precedente i rung assumono un colore verde (linea continua) se un contatto è attivato e se dunque passa la corrente. Altrimenti il rung è rappresentato da una linea tratteggiata.

Page 30: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 28

3 Esempio di Sviluppo di un'Applicazione Verrà presentata in questa sezione un esempio di programmazione in Ladder, con relativo svolgimento sul Simatic Step7. Inoltre, in allegato al documento è disponibile il programma "Trapano" realizzato per il Simatic Step7. Ciò al fine sia di fornire un esempio di programmazione in linguaggio Ladder, sia di illustrare passo passo il funzionamento dell'ambiente Simatic Step 7.

3.1 Trapano Automatico Il sistema da controllare è costituito da un trapano che deve effettuare un foro su un pezzo posizionato alla base del sistema. Il trapano è montato su un supporto che gli permette di muoversi lungo una guida, dall'alto verso il basso e viceversa. Due finecorsa sono posti alle estremità della guida, uno in posizione superiore, l'altro nell'estremità inferiore. In posizione di riposo il trapano è posizionato nel punto più alto, individuato dal finecorsa superiore. Il dispositivo è azionato da un pulsante che viene attivato dall'utente; quando il pulsante viene premuto la punta del trapano inizia a roteare e il trapano scende verso il basso, fino a raggiungere la posizione individuata da un finecorsa inferiore. E' prevista la possibilità di forare due tipologie di pezzi, distinte dall'altezza del pezzo da forare. In particolare è prevista una soglia di classificazione, per poter distinguere tra pezzi "bassi", la cui altezza è inferiore a tale soglia e pezzi "alti" di altezza superiore ad essa. Esiste un sensore di posizione posto a metà tra i due finecorsa superiore ed inferiore. Tale sensore viene utilizzato per discriminare la tipologia del pezzo da forare. Se il trapano, durante la sua discesa, incontra il pezzo al di sotto del sensore intermedio, allora il pezzo è considerato basso. Altrimenti, ossia, se la punta del trapano incontra il pezzo prima del sensore intermedio, allora il pezzo è considerato alto. Il comportamento del trapano deve essere differente in base alla tipologia del pezzo. Se il pezzo è basso, allora il trapano effettua il foro durante la sua discesa dal finecorsa superiore fino ad arrivare al finecorsa inferiore, che indica la massima profondità del foro. Nel caso in cui il pezzo è "alto", ossia più spesso, allora l'operazione di foratura viene divisa in due fasi, al fine di provvedere al raffreddamento della punta. In particolare, il trapano viene fatto scendere fino alla posizione intermedia; quando essa viene raggiunta, il trapano viene fatto risalire alla posizione iniziale (indicata dal finecorsa superiore) per poter oleare la punta. La fase di raffreddamento dura un determinato periodo di tempo, sufficiente per il raffreddamento della punta. Conclusa la fase di raffreddamento, il trapano viene fatto ridiscendere (sempre in rotazione), fino al finecorsa inferiore. In entrambi i casi, ossia nel caso di pezzo alto o di pezzo basso, quando la punta del trapano giunge nella posizione più bassa indicata dal finecorsa inferiore, si suppone che il pezzo sia stato completamente forato e il trapano può risalire fino all'estremo superiore, per essere pronto a forare un nuovo pezzo. Gli ingressi necessari al PLC per lo svolgimento del controllo sono: Ø ingresso START relativo al pulsante di avvio trapano da parte dell'utente Ø il finecorsa superiore A che indica la posizione alta del trapano. Se il valore è 1 indica che il

trapano si trova nella posizione più alta del supporto. Ø il finecorsa intermedio M. Se il valore è 1 indica che il trapano si trova nella posizione

centrale del supporto. Tale sensore viene utilizzato per discriminare la tipologia dei pezzi. Ø il finecorsa inferiore B che indica la posizione bassa del trapano. Se il valore è 1 indica che

il trapano si trova nella posizione più bassa del supporto. Ciò corrisponde alla fine dell'operazione di foratura.

Page 31: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 29

Ø il segnale Y che indica la presenza del pezzo da forare. Se il valore è 1 indica che il pezzo è presente nella base.

Ø il segnale X corrispondente ad un sensore di prossimità che indica quando la punta del trapano incontra il pezzo da forare. Se il valore è 1 indica che la punta del trapano è vicina al pezzo da forare.

Le uscite sono: Ø i segnali UP e DOWN che agiscono sulle azioni di discesa e risalita del trapano, Ø il segnale ROTATE per roteare la punta e Ø il segnale OIL per oleare la punta.

La Figura mostra il sistema da controllare, con gli ingressi e le uscite.

START

Page 32: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 30

La macchina di stato che descrive pienamente il comportamento desiderato per il trapano, è la seguente: Lo stato iniziale è denominato Home, ed è rappresentato da una variabile locale inizializzata ad 1. In tale stato non viene effettuata alcuna operazione (tutte le uscite sono 0, come si vede). Il ciclo può avere inizio se il pulsante di START è stato attivato ed il pezzo si trova sulla base del sistema (se Y==1); in tal caso il sistema passa nello stato “scendi”. In tale stato vengono attivate solo le uscite: Ø ROTATE = 1 Ø DOWN = 1

in quanto il trapano in questo stato inizia a scendere con la punta posta in rotazione. Il comportamento del sistema a partire dalla stato "scendi" dipende dalla tipologia di pezzo che il trapano incontra. Vi sono due possibilità. Se la variabile M diviene 1 e la variabile X è 0 (M==1 && !X) significa che il pezzo è basso. In tal caso si passa nello stato "foro", in cui vengono attivate solo le uscite: Ø ROTATE=1 Ø DOWN = 1

In questa fase il trapano continua a scendere sino a quando incontra il pezzo ed inizia a forarlo. Se, invece, mentre il sistema si trova nello stato "scendi", la variabile X diviene 1 e M=0 (X==1 && !M), significa che il pezzo è alto. In tal caso il sistema si sposta nello stato "foro2", in cui le uscite attivate sono sempre: Ø ROTATE=1 Ø DOWN = 1

HOME

SCENDI SALI

FORO

OLIO

SALI2

FORO2

START && Y

!X &&M==1

X==1 && !M

M==1

A==1

TEMPO TRASCORSO

B==1

A==1

Rotate=1 Down=1 Up=0 Oil=0

Rotate=1 Down=1 Up=0 Oil=0

Rotate=1 Down=0 Up=1 Oil=0

Rotate=1 Down=0 Up=0 Oil=1

Rotate=1 Down=1 Up=0 Oil=0

Rotate=1 Down=0 Up=1 Oil=0

Rotate=0 Down=0 Up=0 Oil=0

Page 33: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 31

In questo stato, non appena il sensore M diviene 1, allora deve essere attivata la procedura di raffreddamento della punta. Il sistema passa nello stato "sali2" in cui si attivano solo le uscite: Ø ROTATE = 1 Ø UP = 1

in quanto il trapano deve essere riportato nella parte alta del supporto per oleare la punta. Il passaggio allo stato successivo avviene se la variabile d’ingresso A è posta pari ad 1, ossia se il trapano arriva nel punto più alto della guida. In tal caso il sistema si porta nello stato "olio", in cui sono attive solo le uscite: Ø ROTATE = 1 Ø OIL = 1

In questo stato, il sistema permane per un tempo necessario al raffreddamento della punta, tramite l'utilizzo di un timer. Allo scadere dell'intervallo di tempo impostato, il sistema passa nello stato "foro", in cui vengono attivate solo le uscite: Ø ROTATE=1 Ø DOWN = 1

Come già detto, in questo stato il trapano si muove verso il basso mentre la punta continua a ruotare. Il passaggio allo stato successivo avviene se la variabile d’ingresso B è posta pari ad 1, cioè se il trapano si trova nella posizione più bassa, ossia se il foro è stato effettuato. In questo caso il sistema passa nello stato "sali", in cui sono attive solo le uscite: Ø ROTATE = 1 Ø UP = 1

In questo stato il trapano continua a ruotare ed inizia a risalire fino a quando non arriva al finecorsa superiore (A==1), determinando il passaggio allo stato di Home. Si noti che la macchina a stati potrebbe essere arricchita prevedendo il controllo che il pezzo forato venga tolto (passaggio del sensore Y dal valore 1 al valore 0), prima di fare ritorno allo stato di "home". Si lascia al lettore l'aggiunta di un nuovo stato tra gli stati "sali" e "home".

3.1.1 Progetto Trapano realizzato in linguaggio KOP (Ladder) Aprire il Simatic Manager e avviare la procedura File > Assistente "Nuovo progetto". Scegliere la tipologia di CPU utilizzata; in questo esempio si farà riferimento alla CPU314C-2DP (firmware 2.0). Bisogna, poi, selezionare OB1 e OB100, scegliere come linguaggio di programmazione KOP e indicare il nome del progetto, ad esempio “trapano_ladder”. Si otterrà:

Page 34: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 32

Per effettuare la programmazione con nomi simbolici bisogna creare una tabella dei simboli. Aprire la cartella “Simboli” che si trova dentro Programma S7(1) e inserire le varie righe. Supponendo di selezionare il formalismo IEC, si ricorda che la sintassi per le variabili di ingresso/uscita è: I x.y / Q x.y. Dall'analisi della CPU 314C-2DP, si ricava che gli indirizzi degli ingressi/uscite digitali integrati di default sono: Ø Ingressi digitali da 124.0 a 126.7 Ø Uscite digitali da 124.0 a 125.7

Si può osservare inoltre, che la CPU utilizzata ha i byte di Merker da MB 0 a MB 16 con ritenzione preimpostata. Nel caso dell'esempio proposto la proprietà di ritentività non era richiesta per le variabili di stato. Questo significa che gli stati del sistema possono essere rappresentati da merkers a partire da MB 17.0. Si supponga, ad esempio, di voler utilizzare i merkers a partire dal byte 20. Si supponga adesso di assegnare i simboli visti prima agli ingressi, alle uscite e ai merkers, secondo quanto mostrato nella seguente figura.

Page 35: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 33

Si osservi che le variabili di stato (home, scendi, foro, foro2, etc.) sono state realizzate con bit di Merker a partire da M 20.0. Dopo aver creato la tabella dei simboli cliccare su OB1 per scrivere il programma in KOP (Ladder). Si aprirà la maschera “KOP/AWL/FUP” dove si inseriranno le varie istruzioni in linguaggio KOP(Ladder). Si ricorda che: Ø Per ogni rung da aggungere, bisogna selezionare “inserisci segmento”. Ø Sulla sinistra si trova la finestra “elementi di programma”. Questa contiene tutta la

simbologia relativa al linguaggio KOP(ladder). Ø Ogni qualvolta si inserisce un elemento (contatto aperto, contatto chiuso, temporizzatore,

ecc.) esso presenterà dei punti interrogativi rossi. Cliccando su di essi è possibile inserire l’indirizzo assoluto oppure se si è costruita la tabella dei simboli è possibile scegliere il nome nella casella di riepilogo visualizzata.

Il programma in KOP, che risolve il problema del trapano automatico, è composto da tre sezioni. Sulla base della macchina a stati, precedentemente illustrata, le sezioni di codice da scrivere sono relative alle:

1. istruzioni che permettono di passare ad un nuovo stato a partire da quello attuale; 2. istruzioni che permettono di disattivare lo stato precedente, quando uno nuovo è stato

attivato; 3. istruzioni che permettono di attivare le opportune uscite per ciascuno degli stati.

Nel seguito è riportato il listato del programma. I rung dal numero 1 al numero 7 sono relativi alla prima sezione del programma. I rung dal numero 8 al numero 16 sono relativi alla seconda sezione del programma. Infine, i rung dal numero 17 in poi sono relativi alle azioni da intraprendere in ogni stato.

Page 36: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 34

Page 37: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 35

Page 38: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 36

Page 39: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 37

Di seguito viene riportato un esempio dell’interfaccia ”KOP/AWL/FUP”, contenente una porzione de programma prima illustrato.

Dopo aver salvato il programma in KOP cliccare su OB100 per inserire le istruzioni relative all’avviamento. Nel caso in esame è necessario che alla partenza del programma, la variabile home sia true (1). Per creare il blocco organizzativo di avviamento cliccare su OB100, scelto in fase di creazione, e dopo aver scelto dal menu Visualizza > AWL inserire la seguente istruzione, che al momento dell’avviamento setta home a true: SET

=”home”

Page 40: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 38

3.1.2 Simulazione del progetto Trapano con S7-PLCSIM Dopo aver salvato il progetto si avvia S7-PLCSIM per far partire la simulazione. Si seguano i seguenti passi (come già descritto precedentemente in questo documento):

1. Aprire il SIMATIC Manager. 2. Nel SIMATIC Manager, aprire il progetto “Trapano_ladder”.

3. Fare clic su oppure selezionare il comando di menu Strumenti > Simula unità. 4. All'interno del progetto portarsi sull'oggetto "Stazione SIMATIC 300".

5. Nel SIMATIC Manager, fare clic su oppure selezionare il comando di menu Sistema di destinazione > Carica per caricare l'oggetto "Stazione SIMATIC 300" nel PLC simulato.

6. Rispondere opportunamente alle domande poste dal software, come spiegato in precedenza. 7. Nell'applicazione S7-PLCSIM, creare ulteriori "sottofinestre" per controllare le

informazioni dal PLC simulato. In particolare, considerando l'esempio del trapano automatico, è conveniente aprire:

• Fare clic su oppure selezionare il comando di menu Inserisci > Ingresso. Digitare IB124 (byte di ingresso 124).

• Fare clic su oppure selezionare il comando di menu Inserisci > Uscita. Digitare QB124 (Output Byte 124).

• Fare clic su oppure selezionare il comando di menu Inserisci>Temporizzatore. Digitare TON, ossia il nome simbolico del Timer utilizzato nel programma.

Page 41: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 39

• Selezionare il comando di menu Inserisci> Merker. Digitare MB 20, al fine di poter visualizzare tutte le variabili di stato (home, foro, scendi, etc.).

8. Selezionare il menu Sistema di destinazione in S7-PLCSIM e verificare che accanto ad Alimentazione compaia un pallino (•).

9. Selezionare Esegui > modo di scansione e verificare che compaia un pallino (•) accanto a Ciclo continuo.

10. Commutare la CPU simulata in RUN facendo clic sulla casella RUN. Comparirà una finestra simile a quella riportata nel seguito. Dall’immagine si osserva che quando la CPU va in RUN la variabile home è true (1).

11. Fare clic sul bit 0 e sul bit 1 di IB124 per simulare l'attivazione degli ingressi Start e Y ed osservare gli effetti di questa operazione su QB124.

Page 42: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 40

12. Fare clic su oppure selezionare il comando di menu File > Salva PLC con nome... per salvare come nuovo file lo stato corrente del PLC simulato.

3.1.3 Come utilizzare STEP 7 per controllare la simulazione del programma È possibile utilizzare i tool di STEP 7 per controllare la simulazione del programma:

1. Dopo aver creato le sottofinestre (vedere sopra al punto 7), entrare nel SIMATIC Manager.

2. Fare clic su oppure selezionare il comando Visualizza > Online per passare al modo online.

Page 43: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 41

3. Spostarsi all'oggetto "Blocchi" nel progetto trapano_ladder ed aprire OB1. Questa operazione richiama l'applicazione "KOP/AWL/FUP" .

4. Quando la CPU simulata si trova in modo RUN, passare alla finestra dell'applicazione "KOP/AWL/FUP" e selezionare Test > Controlla per verificare l'esecuzione del programma. Questa prima immagine mostra quello che accade quando la CPU è commutata in RUN e il sistema si trova nello stato iniziale di Home.

Page 44: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 42

5. Adesso si supponga di simulare l'attivazione degli ingressi 124.0 (START) e 124.1 (Y), come illustrato precedentemente. In questa immagine viene mostrato cosa accade quando i bit “START” e “Y” vengono attivati, ossia si verifica il passaggio allo stato successivo ”scendi”.

6. Procedendo alla stessa maniera è possibile verificare l’intero programma.

Page 45: PROGRAMMAZIONE IN LADDER AMBIENTE SIMATIC STEP7 · programmazione KOP, AWL e FUP per S7-300/400 sono parte integrante del software di base. Ø KOP (schema a contatti) è il linguaggio

Programmazione Ladder Simatic STEP7 Prof.S.Cavalieri

PLC Forum - www.plcforum.it 43

7. Per uscire dalla simulazione basta cliccare su Test > Controlla e chiudere la finestra del collegamento online.