Sei sulla pagina 1di 46

Tecnica di automazione e azionamento

Dispensa per il corso sulla


Totally Integrated Automation (T.I.A.)

Modulo 1
Principi di programmazione del PLC
con SIMATIC S7-300

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 1 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Il presente documento stato redatto da Siemens A&D SCE (Siemens A&D Cooperates with Education) per
scopi didattici. Siemens declina ogni responsabilit riguardo al contenuto.

La diffusione e la riproduzione del presente documento, l'utilizzo e la trasmissione a terzi del relativo contenuto
sono ammessi solo all'interno di Istituti Tecnici (I.T.I.S.), Professionali (I.P.S.I.A.), Universit, Centri di
Formazione ed Istituzioni Pubbliche di Formazione e perfezionamento. In tutti gli altri casi richiesta
l'autorizzazione scritta da Siemens A&D SCE (Siemens A&D Cooperates with Education). In caso di utilizzo
abusivo si proceder alla richiesta di risarcimento danni. Sono riservati tutti i diritti compresi quelli di
traduzione, in particolar modo in caso di brevetto e marchi registrati.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 2 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

PAGINA:

1. Premessa .......................................................................................................... 5

2. Configurazione e funzioni del PLC ................................................................. 6

2.1 Tipi di segnale nella tecnica di controllo........................................................ 6


2.1.1 Segnali binari ..................................................................................................... 6
2.1.2 Segnali analogici ................................................................................................ 8

2.2 Sistemi numerici............................................................................................... 10


2.2.1 Sistema decimale............................................................................................... 10
2.2.2 Sistema binario .................................................................................................. 11
2.2.3 Codice BCD (Codice 8-4-2-1) ............................................................................. 11
2.2.4 Sistema esadecimale ......................................................................................... 12
2.2.5 Rappresentazione dei sistemi numerici............................................................... 13
2.2.6 Regole di conversione ........................................................................................ 14

2.3. Concetti di informatica..................................................................................... 16


2.3.1 Bit. ....................................................................................................... 16
2.3.2 Byte.. .............................................................................................................. 16
2.3.3 Parola (word)...................................................................................................... 16
2.3.4 Doppia parola (double word)............................................................................... 17
2.3.5 Indirizzo bit......................................................................................................... 17
2.3.6 Indirizzo byte...................................................................................................... 17
2.3.7 Indirizzo parola................................................................................................... 18
2.3.8 Indirizzo doppia parola ....................................................................................... 18

2.4 Configurazione di un PLC................................................................................ 19

2.5 Funzionamento di un PLC .............................................................................. 21


2.5.1 Unit centrale di elaborazione (CPU).................................................................. 21
2.5.2 Sistema bus ....................................................................................................... 22
2.5.3 Alimentatore....................................................................................................... 23
2.5.4 Memoria di programma ...................................................................................... 23
2.5.5 RAM. .............................................................................................................. 23
2.5.6 Flash EPROM .................................................................................................... 23

2.6 Sistema di automazione SIMATIC S7 .............................................................. 24


2.6.1 SIMATIC S7-300 ................................................................................................ 24

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 3 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

PAGINA:

2.7 Esecuzione del programma ............................................................................. 30


2.7.1 Memoria di programma ...................................................................................... 30
2.7.2 Esecuzione lineare del programma..................................................................... 30
2.7.3 Esecuzione strutturata del programma ............................................................... 31
2.7.4 Blocchi utente..................................................................................................... 32
2.7.5 Blocchi di sistema per le funzioni standard di sistema ........................................ 32

3. Linguaggio di programmazione STEP 7 ......................................................... 33

3.1 Informazioni generali ....................................................................................... 33

3.2 Conversione STEP 5 ? STEP 7....................................................................... 33

3.3 Norma IEC 61131 sui PLC ................................................................................ 34

3.4 Struttura delle directory ................................................................................... 35

3.5 Configurazione e parametrizzazione............................................................... 37

3.6 Istruzioni ........................................................................................................... 38


3.6.1 Operazioni.......................................................................................................... 38
3.6.2 Operandi ............................................................................................................ 40

3.7 Indirizzamento .................................................................................................. 41


3.7.1 Indirizzamento simbolico .................................................................................... 41
3.7.2 Indirizzamento assoluto...................................................................................... 41

3.8 Rappresentazione del programma .................................................................. 43


3.8.1 Rappresentazione KOP ...................................................................................... 43
3.8.2 Rappresentazione FUP....................................................................................... 43
3.8.3 Rappresentazione AWL...................................................................................... 44

3.9 Merker ............................................................................................................... 45


3.9.1 Merker a ritenzione............................................................................................. 45
3.9.2 Merker non a ritenzione ...................................................................................... 45

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 4 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

1. PREMESSA

Attualmente i controllori a logica programmabile, in breve PLC, sono l'elemento centrale


dell'automazione. Grazie ai PLC infatti possibile risolvere praticamente qualsiasi compito di
automazione nel modo pi vantaggioso.

COMANDO
STEUERN REGOLAZIONE
REGELN

PLC
SPS

MELDEN UND PROTOKOLLIEREN BEDIENEN


GESTIONE UND BEOBACHTEN
E SUPERVISIONE
SEGNALAZIONE E
PROTOCOLLAZIONE CALCOLO
RECHNEN

Questo modulo ha l'obiettivo di dare una visione generale del sistema di automazione S7-300 e del
relativo software di programmazione STEP 7.
Prerequisiti
Poich in questa prima parte vengono descritti i principi fondamentali non necessario alcun
requisito particolare.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 5 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2. CONFIGURAZIONE E FUNZIONI DEL PLC

Il PLC ha il compito di controllare le operazioni di una macchina o un impianto sulla base di una
sequenza di funzioni prestabilita e in funzione dei segnali ricevuti dai sensori.

2.1 TIPI DI SEGNALE NELLA TECNICA DI CONTROLLO

I segnali elettrici presenti negli ingressi e nelle uscite possono essere suddivisi in due gruppi:

segnali binari segnali analogici

2.1.1. SEGNALI BINARI

I segnali binari possono assumere solo due stati, ovvero:

Stato 1 = tensione presente = ad es. interruttore ON


Stato 0 = tensione assente = ad es. interruttore OFF

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 6 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Nella tecnica di controllo spesso si utilizza una tensione continua di 24V. Un livello di tensione di +
24V in un morsetto di ingresso corrisponde allo stato 1 nell'ingresso corrispondente, mentre 0V
corrisponde allo stato 0. Oltre allo stato del segnale importante l'assegnazione logica del
generatore di segnali. Deve essere noto se il generatore di segnale un contatto normalmente
chiuso o un contatto normalmente aperto. I contatti normalmente chiusi assumono lo stato 0
quando sono attivi, un comportamento definito attivo 0 o attivo low. Allo stesso modo un contatto
normalmente aperto attivo 1 / attivo high, ovvero invia il segnale 1, quando viene attivato.
Generalmente i generatori di segnale sono attivo1. Un'applicazione tipica di un generatore di
segnale attivo 0 il tasto per l'arresto di emergenza. Quando non azionato (non stato premuto)
il tasto consente sempre il passaggio della corrente e quindi invia il segnale 1 all'ingresso a cui
collegato (rilevamento rottura conduttore). La reazione connessa all'azionamento del tasto (ad es. la
chiusura di tutte le valvole) ha luogo quando il segnale assumer lo stato 0.

Posizioni binarie
Un segnale binario pu quindi assumere solo i due valori (stati) 0 e 1. Questo tipo di segnale
viene definito anche "posizione binaria" e nel linguaggio tecnico viene chiamato bit.
Pi segnali binari in successione e disposti in un ordine preciso (code) corrispondono ad un segnale
digitale. Mentre un segnale binario consente il rilevamento di una grandezza che pu assumere solo
due valori (ad es. porta aperta / chiusa), raggruppando pi posizioni binarie possibile generare, ad
esempio, un numero o una cifra come informazione digitale.
Il raggruppamento di n posizioni binarie consente di rappresentare 2n diverse combinazioni.

Ad es. con 2 posizioni binarie possibile generare 2x2, ovvero 4, diverse informazioni:

0 0 Informazione1 (ad es. entrambi i contatti aperti)


0 1 Informazione2 (contatto 1 aperto / contatto 2 chiuso)
1 0 Informazione3 (contatto 1 chiuso / contatto 2 aperto)
1 1 Informazione4 (entrambi i contatti chiusi)

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 7 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.1.2 SEGNALI ANALOGICI

Diversamente dai segnali binari che possono assumere solo gli stati tensione presente +24V e
tensione assente 0V, i segnali analogici possono assumere un numero maggiore di valori compresi
in un dato intervallo. Un esempio tipico di generatore di segnale analogico il potenziometro.
Variando la posizione della manopola di regolazione possibile impostare una resistenza qualsiasi
compresa entro il valore massimo.

Esempi di grandezze analogiche frequenti nella tecnica di controllo:

??temperatura -50 ... +150C


??portata 0 ... 200l/min
??giri 500 ... 1500 U/min
??ecc.

Tali grandezze vengono convertite in valori di tensione, corrente o resistenza mediante un


trasduttore di misura. Ad esempio, per rilevare il numero di giri di un motore si pu decidere che
l'intervallo da 500 a 1500 U/min corrisponde all'intervallo di tensione da 0 e +10V e convertire i giri
in tensione mediante un trasduttore di misura. Se viene rilevato un numero di giri di 865 U/min il
trasduttore genera in uscita un valore di tensione pari a + 3,65.

500 865 1500 U/min

365
10V: 1000 U/min = 0,01 V/U/min
1000 U/min
365 U/min x 0,01 V/U/min = 3,65
10V

0V +10V

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 8 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Per poter elaborare i valori analogici con un PLC, necessario convertire i valori di tensione,
corrente o resistenza in formato digitale. La conversione analogico-digitale (conversione A/D)
implica che, ad esempio, un valore di tensione di 3,65V venga memorizzato in una serie di posizioni
binarie. Pi posizioni binarie vengono utilizzate per la rappresentazione digitale, pi precisa risulta
la risoluzione.

Se, ad esempio, per l'intervallo di tensione 0 ... +10V si dispone di 1 solo bit, possibile una sola
opzione, ovvero se la tensione misurata compresa nell'intervallo 0 .. +5V o nell'intervallo +5V ...
+10V. Disponendo di 2 bit invece possibile suddividere l'intervallo in 4 intervalli pi piccoli, ovvero
0 ... 2,5 / 2,5 ... 5 / 5 ... 7,5 / 7,5 ... 10V. I convertitori A/D pi diffusi nella tecnica di controllo
operano con 8 o 11 bit.
Con 8 bit si dispone di 256 intervalli di valori e con 11 bit di una risoluzione di 2048 intervalli.

0A/0V 20mA/10V
10V: 2048 = 0,0048828
? possibile rilevare
11 Bit
variazioni di tensione di
0 2048
<5mV

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 9 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.2 SISTEMI NUMERICI


Per elaborare gli indirizzi di celle di memoria, ingressi, uscite, temporizzatori, merker ecc. con il PLC
non si utilizza il sistema decimale ma quello binario.

2.2.1 SISTEMA DECIMALE

Per comprendere il sistema binario innanzitutto necessario esaminare il sistema decimale. Nel
nostro esempio vogliamo scomporre il numero 215. Il 2 corrisponde alle centinaia, l'1 alle decine e il
5 alle unit. In realt la forma corretta per la scrittura del numero 215 sarebbe: 200+10+5. Se si
scrive l'espressione 200+10+5, come nel grafico sottostante, basandosi sulla potenza di 10, diventa
chiaro che a ciascuna cifra del numero associata una potenza di dieci.

Potenza di 10
Z u g e o rd n e te
102 101 100 associata
Z e h n e rp o te n z

Centinaia Decine Unit


Hunderter Zehner Einer

2 1 5 Dezim
Numero
alzahl decimale

200 + 10 + 5

2 * 102 1 * 101 5 * 100

Ogni cifra del numero decimale associata ad una potenza di 10.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 10 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.2.2 SISTEMA BINARIO

Il sistema binario conosce solo le cifre 0 e 1 che nella tecnica di elaborazione dati risultano
particolarmente facili da rappresentare e interpretare.
Come si vede nel grafico, i valori di un numero binario sono associati a potenze di 2.

Potenza di 2
Zugeordnete
23 22 21 20 associata
Zehnerpotenz

1 1 0 1 Numero
Dualzahl binario

1* 23 1 * 22 0*2 1
1 * 20

8 + 4 + 0 + 1 = 13 Numero
Dezimalzahldecimale

Nei numeri binari ogni cifra associata ad una potenza di 2.

2.2.3 CODICE BCD (CODICE 8-4-2-1)

Per rappresentare valori numerici molto elevati spesso si ricorre al codice BCD (decimale codificato
in binario). Le cifre decimali vengono espresse da cifre binarie. La cifra decimale con il valore pi
elevato il 9. Per rappresentare il 9 si utilizzano potenze di 2 fino a 23, ovvero complessivamente
quattro 4 cifre.

3 2 1 0
2 2 2 2
8 4 2 1

1 0 0 1 = 99 Dezimal
decimale

1 0 0 0 = 88 Dezimal
decimale

Se rappresentare la cifra decimale pi elevata richiede 4 cifre binarie, ciascuna cifra decimale sar
espressa da quattro cifre, una cosiddetta tetrade. Il codice BCD quindi un codice a 4 bit.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 11 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Ogni cifra decimale ha un proprio codice. Ad esempio, il numero 285 costituito da tre cifre
decimali ciascuna delle quali corrisponde in codice BCD ad un'unit di quattro cifre binarie (tetrade).

2 8 5
0010 1000 0101

Ogni cifra decimale ha un proprio codice corrispondente ad una tetrade.

2.2.4 SISTEMA ESADECIMALE

Il sistema esadecimale un sistema che utilizza come valori posizionali le potenze del numero 16.
quindi un sistema numerico in base 16.
Ogni cifra di un numero esadecimale associata ad una potenza di 16. Complessivamente sono
necessarie 16 cifre compreso lo zero. Per le cifre da 0 a 9 si utilizza il sistema decimale, per le cifre
da 10 a 15 le lettere A, B, C, D, E ed F.

Nei numeri esadecimali ogni cifra associata ad una potenza di 16.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 12 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.2.5 RAPPRESENTAZIONE DEI SISTEMI NUMERICI

Numero decimale
Dezimalzahl Numero binario
Dualzahl Numero esadecimale
Hexadezimalzahl
16 8 4 2 1

0 0 0
1 1 1
2 1 0 2
3 1 1 3
4 1 0 0 4
5 1 0 1 5
6 1 1 0 6
7 1 1 1 7
8 1 0 0 0 8
9 1 0 0 1 9
10 1 0 1 0 A
11 1 0 1 1 B
12 1 1 0 0 C
13 1 1 0 1 D
14 1 1 1 0 E
15 1 1 1 1 F
16 1 0 0 0 0 1 0
17 1 0 0 0 1 1 1
18 1 0 0 1 0 1 2
19 1 0 0 1 1 1 3

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 13 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.2.6 REGOLE DI CONVERSIONE

La conversione da un sistema numerico all'altro si basa su alcune semplici regole che importante
conoscere perch trovano spesso impiego nell'ambito della tecnica di programmazione. Il sistema
numerico su cui basato un dato numero indicato da un indice collocato a destra del numero. D
corrisponde a decimale, B a binario e H a esadecimale. Spesso questa indicazione si rende
necessaria perch una sequenza di cifre assume un valore completamente diverso in funzione del
sistema numerico a cui appartiene.
Ad esempio 111 corrisponde al valore 111D nel sistema decimale (centoundici), nel sistema binario
111B corrisponderebbe al valore decimale 7 (1x20 + 1x 21 + 1x22) mentre nel sistema esadecimale
111H corrisponderebbe al valore 273 (1x160 + 1x161 + 1x 162).

Conversione decimale ? binario

I numeri decimali interi vengono divisi per 2 finch si ottiene il risultato zero. La sequenza di cifre
corrispondenti al resto delle divisioni (0 o 1) forma il numero binario. Si noti la direzione in cui viene
disposta la sequenza dei resti. Il resto della prima divisione corrisponde al primo bit a destra
(quello con il valore pi basso).

Esempio: si vuole trasformare il numero decimale 123 nel corrispondente numero binario.

resto
resto
resto capovolgere in
resto senso orario
resto
resto
resto

Dimostrazione:
1 1 1 1 0 1 1
6 5 4 3 2 1 0
1x2 + 1x2 + 1x2 + 1x2 + 0x2 + 1x2 + 1x2
64 + 32 + 16 + 8 + 0 + 2 + 1 = 123

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 14 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Conversione decimale ? esadecimale

La procedura uguale a quella per la conversione decimale ? binario con la differenza che invece
della base 2 viene utilizzata la base 16. Invece che per 2, le cifre verranno divise per 16.

Esempio: si vuole trasformare il numero decimale 123 nel corrispondente numero esadecimale.

capovolgere in
resto senso orario

resto

Dimostrazione:
7 B
7x161 + 11x160
112 + 11 = 123

Conversione binario ? esadecimale

Per convertire un numero binario in formato esadecimale si stabilisce innanzitutto il valore decimale
del numero binario (somma delle valenze). Quindi si converte il numero decimale in esadecimale
dividendolo per 16 secondo il metodo precedentemente descritto.
inoltre possibile ricavare il valore esadecimale direttamente dal numero binario.
A tale scopo si dovr suddividere il numero binario in gruppi di quattro cifre partendo da destra: ogni
gruppo di cifre corrisponde ad una cifra del numero esadecimale. Se necessario nel gruppo a
sinistra si dovranno sostituire i bit mancanti con degli zeri.
Esempio: si vuole trasformare direttamente il numero binario 1111011 in numero esadecimale.

1 1 1 1 0 1 1B

0 1 1 1 1 0 1 1

3 2 1 0 3 2 1 0
0x2 + 1x2 + 1x2 + 1x2 1x2 + 0x2 + 1x2 + 1x2

7 B H

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 15 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.3 CONCETTI DI INFORMATICA

Nell'ambito dei controlli automatici spesso si ricorre a concetti propri dell'informatica e


dell'elaborazione dati quali BIT, BYTE e PAROLA.

2.3.1 BIT

Bit l'acronimo di cifra binaria. Il BIT rappresenta l'unit di informazioni binaria (di due valori) pi
piccola che pu assumere due soli stati "1" o "0".

24 V 1 Tensione
Spannung
vorhanden
presente

0V
0 Tensione
Spannung assente
nicht
vorhanden

2.3.2 BYTE

Il BYTE un'unit costituita da 8 caratteri binari. Un byte quindi costituito da 8 bit.

BYTE 0 1 0 1 1 0 0 1

Signalzustand
Stato del segnale
2.3.3 PAROLA (WORD)

Una parola (Word) costituita da una sequenza di caratteri binari che in determinati contesti
vengono utilizzati come una singola unit. La lunghezza della parola di 16 caratteri binari.
Le parole consentono di rappresentare, ad esempio:

Numeri binari
Caratteri
Istruzioni per PLC

Stato del segnale

Parola 0 1 0 0 1 1 0 1 1 1 0 0 0 1 1 0

1 Byte 1 Byte
Una parola quindi costituita da 2 byte o 16 bit.

2.3.4 DOPPIA PAROLA (DOUBLE WORD)


Siemens SCE (Siemens Cooperates with Education)
La doppia parola (double word) ha una lunghezza di 32 caratteri binari.

Dispensa Siemens SCE Pagina 16 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Una doppia parola quindi costituita da 2 parole, 4 byte o 32 bit.

Altre unit utilizzate sono il Kilobit e il Kilobyte, che equivalgono a 210 ovvero rispettivamente a 1024
bit e 1024 byte, e il Megabit e il Megabyte che equivalgono rispettivamente a 1024 Kilobit e a 1024
Kilobyte.

2.3.5 INDIRIZZO BIT

Per poter indirizzare i bit, necessario assegnare una cifra, detta "indirizzo", a ciascun bit di cui
composto il byte. In tutti i byte l'ultimo bit a destra assume l'indirizzo 0, mentre il primo a sinistra ha
l'indirizzo 7.

7 6 5 4 3 2 1 0
Bitadresse
Indirizzo bit

2.3.6 INDIRIZZO BYTE

Anche i byte sono identificati da un numero detto "indirizzo byte". In tal caso nell'indirizzo viene
specificato anche l'operando, per cui EB 2 corrisponde, ad esempio, al byte di ingresso 2 e AB 4 al
byte di uscita 4.
Una chiara identificazione dei bit viene ottenuta combinando l'indirizzo del bit e del relativo byte.
L'indirizzo del bit viene separato da quello del byte mediante un punto. A destra del punto compare
l'indirizzo del bit e a sinistra quello del byte.

E0.7 E0.6 E0.5 E0.4 E0.3 E0.2 E0.1 E0.0


1 Byte Indirizzo byte
Byteadresse

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 17 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.3.7 INDIRIZZO PAROLA

La numerazione delle parole determina l'indirizzo della parola stessa.

Nota: Con limpiego di parole, ad es. parola di ingresso (EW), parola di uscita (AW), parola di
merker (MW) ecc., l'indirizzo corrisponde sempre all'indirizzo pi basso dei
due byte di cui composta la parola.
EW0 EW2 Indirizzo parola
EB0 EB1 EB2 EB3
EW1

Nota: Con lelaborazione a parola, importante considerare che, ad esempio, la parola di


ingresso 0 e la parola di ingresso 1 hanno un byte in comune. Inoltre nel
conteggio dei bit si procede da destra a sinistra.

Ad esempio il bit0 di EW1 E2.0, il bit1 E2.1. ... il bit7 E2.7,


il bit8 E1.0. ... il bt15 E1.7.
Tra i bit7 e 8 c' quindi un "salto".

2.3.8 INDIRIZZO DOPPIA PAROLA

La numerazione di doppie parole determina lindirizzo di due parole consecutive.

Nota: L'indirizzo di una doppia parola, ad es. ED, AD, MD ecc., corrisponde sempre
all'indirizzo pi basso delle due parole che la compongono.

ED0 Indirizzo doppia parola


EW0 EW2
EB0 EB1 EB2 EB3
EW1

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 18 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.4 CONFIGURAZIONE DI UN PLC

I PLC sono sistemi prodotti in serie e caratterizzati da una configurazione adattabile alle esigenze
dell'utilizzatore. Gli elementi logici, le funzioni di memorizzazione, i temporizzatori, i contatori ecc.
per la tecnica di controllo vengono realizzati dal produttore e combinati in un'unit di controllo
funzionante grazie alla programmazione. I PLC si differenziano principalmente dalle seguenti
caratteristiche:

quantit di ingressi e uscite


capacit di memoria
numero di contatori
numero di temporizzatori
funzioni di merker
funzioni speciali
velocit di elaborazione
tipo di elaborazione del programma

I PLC vengono realizzati assemblando "ad hoc" delle unit modulari. A partire da una
configurazione di base, grazie alla struttura modulare possibile realizzare sistemi di automazione
adattabili alle pi svariate esigenze applicative.
Per il controllo di sistemi semplici vengono impiegati PLC compatti costituiti da unit chiuse con un
numero prestabilito e non modificabile di ingressi e uscite.

Un controllore logico programmabile (PLC) costituito dai seguenti elementi fondamentali:

Sistema di automazione
Automatisierungsgert

PLC
SPS

Generatori di segnali
Signalgeber Attuatori e segnalatori
Stellgerte luminosi
bzw. Leuchtmelder

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 19 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Il sistema di automazione costituito da:

Unit centrale con processore


Zentralbaugruppe mit Prozessor Memoria di programma
Programmspeicher

Automatisierungsgert
Sistema di automazione

Alimentatore
Stromversorgungsbaugruppe Sistema Bus
Bussystem

Moduli di Ausgabebaugruppen
Ein- und ingresso e uscita

Struttura di un controllore logico programmabile (PLC):

Stromversorgung
Alimentazione fr Signalgeber
generatori di segnale

GeneratoriSignalgeber
di segnale
(Sensori)

Alimen-
Stromver- Unit centrale
Zentralbaugruppe Eingabe-di Ausgabe-
tatore Modulo Modulo di
sorgungs- Memoria di programma
Programmspeicher baugruppe baugruppe
baugruppe ingresso uscita

Processore
Prozessor

Attuatori / segnalatori luminosi


Stellgerte / Leuchtmelder

Alimentazione
Stromversorgung attuatori
fr Stellgerte/
Leuchtmelder
/segnalatori luminosi

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 20 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.5 FUNZIONAMENTO DI UN PLC

2.5.1 UNIT CENTRALE DI ELABORAZIONE (CPU)

La tensione proveniente dai sensori viene applicata al blocco morsetti del modulo di ingresso. Nella
CPU il processore elabora il programma in memoria e interroga gli ingressi per determinarne il
livello di tensione. In funzione dello stato degli ingressi e del programma in memoria, il processore
indica al modulo di uscita di inviare un segnale elettrico ai corrispondenti connettori della barra.
Quindi, in base allo stato dei connettori dei moduli di uscita, gli attuatori o i segnalatori luminosi (o
LED) vengono attivati o disattivati.

Unit centrale (CPU) del PLC:

000 UE 1.0 Merker


Merker
001 UE 1.1 unit di
Steuerwerk

002 = A 0.0
controllo
Temporizzatori
Interne Zeiten
003 OE 2.0 interni
+1 Contatori interni
Interne Zhler

Registro Immagine di
Prozeabbild fr
509 OE 3.2 processo
Anweisungs-
istruzioni digitale unddegli
Register ingressi/uscite
analoge Ein-
510 =A 4.0
und Ausgnge
digitali e analogici
BE

Bus di Peripheriebus
periferia (modulo di bus) )
( Busmodul

Ingresso
Eingabe Uscita
Ausgabe Moduli di
Zeit-, Zhl-
digital und
digitale e digital und
digitale e und Grenzwert-
temporizzazione,
anlog analog baugruppen
analogico analogica conteggio e comparazione

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 21 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Il contatore degli indirizzi interroga la memoria di programma istruzione per istruzione (in modo
seriale) e fa s che le informazioni vengano trasmesse dalla memoria di programma nel registro
delle istruzioni in base al programma. Le memorie del processore vengono comunemente chiamate
registri.
L'unit di controllo riceve le istruzioni dal registro istruzioni. Mentre elabora un'istruzione, il contatore
degli indirizzi scrive l'istruzione successiva nel registro. Il trasferimento dello stato degli ingressi
nell'immagine di processo degli ingressi (IPI) seguito dalla combinazione logica, dall'utilizzo dei
temporizzatori, dei contatori, degli accumulatori e dal trasferimento del risultato logico combinatorio
(RLC) nell'immagine di processo delle uscite (IPU). Una volta eseguito il programma utente, quando
viene rilevata la fine del blocco (BE), lo stato viene trasferito dalla IPU nelle uscite.
Il bus di periferia effettua lo scambio dei dati tra l'unit centrale e la periferia.
Fanno parte della periferia i moduli di ingresso e di uscita digitali e analogici e i moduli di
temporizzazione, conteggio e comparazione.

2.5.2 SISTEMA BUS

Il sistema bus un complesso di collegamenti elettrici per la trasmissione di segnali. Nel sistema di
automazione lo scambio dei segnali tra il processore e i moduli di ingresso e uscita viene quindi
regolato dal sistema a bus di processo.
Il bus costituito da tre conduttori di segnale paralleli:

BusAdressbus
indirizzi

Bus di sistema
Bussystem

Bus dati
Datenbus Bus controllo
Steuerbuse comando

- Il bus indirizzi consente di indirizzare i moduli.


- Il bus dati trasferisce i dati, ad esempio, dai moduli di ingresso a quelli di uscita.
- Il bus di controllo e comando trasmette i segnali per il comando e il controllo dell'esecuzione
delle funzioni nel dispositivo di automazione.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 22 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.5.3 ALIMENTATORE

L'alimentatore collegato alla tensione di rete e fornisce la tensione ai moduli elettronici del sistema
di automazione. La tensione erogata di 24 Volt. Per le tensioni superiori a 24 Volt per
l'alimentazione dei sensori, gli attuatori e i segnalatori luminosi, si devono utilizzare alimentatori o
trasformatori supplementari.

2.5.4 MEMORIA DI PROGRAMMA

Gli elementi di memoria sono componenti in cui le informazioni vengono memorizzate sotto forma
di segnali binari.
Per la memoria di programma vengono utilizzate prevalentemente memorie a semiconduttori. Le
memorie possono essere composte da 512, 1024, 2048 ecc. celle. Convenzionalmente la capacit
della memoria di programma (ovvero il numero di celle) viene indicata in multipli di 1 K (1 K
corrisponde a 1024).
In ogni cella di memoria possibile scrivere (programmare) un'istruzione mediante un dispositivo di
programmazione. Ciascun elemento binario della cella pu assumere lo stato "1" o "0".

2.5.5 RAM

L'acronimo RAM indica una memoria di lettura e scrittura a semiconduttori. Le singole posizioni di
memoria sono identificate da indirizzi che consentono di accedere alle singole celle.
Nelle celle le informazioni possono essere scritte un numero infinito di volte. La lettura delle
informazioni non implica la perdita del contenuto della memoria.
Tuttavia, poich la RAM una memoria volatile, perde le informazioni memorizzate quando non
presente l'alimentazione. La cancellazione della RAM viene effettuata elettricamente.
La memoria di lavoro interna di un S7-300 una RAM. La batteria tampone utilizzabile in opzione
nel PLC ha lo scopo di impedire la perdita dei dati memorizzati.

2.5.6 FLASH EPROM

EPROM l'acronimo per Erasable ROM (Read Only Memory) ed una memoria che pu essere
cancellata completamente per mezzo dell'esposizione ai raggi ultravioletti o ad una tensione e
quindi riprogrammata. Per questo adatta ad essere trasportata senza il rischio di perdere i dati.
L'S7- 300 offre la possibilit di memorizzare il programma con il PG in una cosiddetta Memory Card
(Flash EPROM) in modo da poter ripristinare velocemente il sistema anche in caso di interruzione
della corrente.
La tensione di cancellazione e di scrittura della Flash EPROM di 5V per cui possibile cancellarla
e scriverci anche quando inserita nella CPU.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 23 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.6 SISTEMA DI AUTOMAZIONE SIMATIC S7

SIMATIC S7 il nome commerciale con il quale SIEMENS designa l'attuale serie di controllori
programmabili.
La famiglia di sistemi SIMATIC S7 attualmente una delle colonne portanti dell'automazione
nell'ambito della tecnologia di produzione e di processo, la Totally Integrated Automation.

2.6.1 SIMATIC S7-300

Moduli
I PLC SIMATIC S7-300 sono costituiti, oltre che dalla CPU, dai seguenti moduli:

PS: IM: SM: FM: CP:


Ingresso - Send DI / DO Conteggio - Punto a punto
AC 120V/230V - Receive - DC 24 V Regolazione - PROFIBUS DP/FMS
Uscita - Send / AC 120/230V Posizionamento
DC 24V Receive Rel Camme
Posizione
- 2A NC
- 5A AI/AO
- 10A - Tensione FM-ATB
- Corrente - Tecnologia utente
- Resistenza (piattaforma MS-DOS/C)
- Termocoppia

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 24 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Tipi di CPU
Nella tabella sono riportate alcune CPU della famiglia S7-300. Ne sono disponibili altre con ottime
prestazioni e ne vengono continuamente prodotte di nuove, ma sono caratterizzate unicamente da
una migliore capacit di calcolo, una caratteristica del tutto irrilevante per i semplici programmi che
verranno svolti nel corso.

CPU 312 IFM CPU 313 CPU 314 IFM CPU 314 CPU 315 CPU315-2DP

2K istruzioni 4K istruzioni 8K istruzioni 8K istruzioni 16K istruzioni. 16K istruzioni.


6Kbyte memoria 12Kbyte 24Kbyte 24Kbyte 48Kbyte 48Kbyte
di lavoro - memoria di memoria di memoria di memoria di memoria di
20Kbyte memoria lavoro - 20Kbyte lavoro - 40Kbyte lavoro - 40Kbyte lavoro - lavoro - 80Kbyte
di caricamento memoria di memoria di memoria di 80Kbyte memoria di
caricamento caricamento caricamento memoria di caricamento
128 byte DI/DO 128 byte DI/DO 512 byte DI/DO 512 byte DI/DO 1024 byte DI/ 1024 byte DI/DO
DO
32 byte AI/AO 32 byte AI/AO 64 byte AI/AO 64 byte AI/AO 128 byte AI/AO 128 byte AI/AO

0,6 ms / 0,6 ms / 0,3 ms / 0,3 ms / 0,3 ms / 0,3 ms /


1K comandi 1K comandi 1 K comandi 1K comandi 1K comandi 1K comandi

1024 merker 2048 merker 2048 merker 2048 merker 2048 merker 2048 merker

32 contatori 64 contatori 64 contatori 64 contatori 64 contatori 64 contatori

64 temporizzatori 128 128 128 128 128


temporizzatori temporizzatori temporizzatori temporizzatori temporizzatori
10 DI/6DO on 20 DI/16DO on Connessione
board di cui 4 DE board di cui 4DE PROFIBUS DP
per gli interrupt di per gli interrupt integrata (master
processo o le di processo o le / slave)
funzioni funzioni assegnazione
integrate. integrate. indirizzi
contatore veloce contatore veloce parametrizzabile
EPROM integrata 4 AI / 1AA on
da 20K byte board
risoluzione: 11
bit + segno
EPROM
integrata da 40
KByte

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 25 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

CPU compatte:

Di recente stata anche creata una serie di CPU particolari, che per la costruzione compatta, i costi
contenuti e per le eventuali interfacce di comunicazione integrate, si prestano in modo ottimale a
scopi di formazione.
Questi CPU compatte sono, per funzionalit e maneggevolezza, simili alle CPU standard.
La seguente tabella presenta una panoramica delle CPU compatte disponibili.

CPU 312C CPU 313C CPU 313C-2DP CPU 314C-2DP

Tempi di 0.2 / 4 / 40s 0.1 / 2 / 20s 0.1 / 2 / 20s 0.1 / 2 / 20s.


elaborazione
(binario/virgola fissa
/virgola
Memoria mobile)
di lavoro 16 KB 32 KB 32 KB 48 KB

SIMATIC Micro 64 KB ... 4MB 64 KB ...4 MB 64 KB ...4 MB 64 KB ...4 MB


Memory Card

Periferia on board
DI/DO 10 / 6 24 / 16 16 / 16 24 / 16
AI/AO *PT100 -/- 4+1*/2 -/- 4+1* / 2

Funzioni
tecnologiche
- Conteggio/Frequenza 2 (10kHz) 3 (30kHz) 3 (30kHz) 4 (60kHz)
- Uscite ad impulsi 2 (2,5 kHz) 4 (2,5 kHz) 4 (2,5 kHz) 4 (2,5 kHz)
- Regolazione no s s s
- Posizionamento no no no 1

Interfacce
- MPI 187,5 kBaud s s s s
- Funzionalit DP no no Master/Slave Master/Slave

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 26 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Possibile configurazione di un'S7 - 300

locale

N. posto connettore

La figura mostra la configurazione massima di un S7-300/CPU314. Complessivamente possibile


configurare fino a 32 moduli (la CPU 312IFM e la CPU 313 ammettono solo 8 moduli), 8 per ciascun
telaio di montaggio (fila).

Nell'assegnazione dei posti connettore ci si deve attenere alle seguenti regole:


Posto connettore 1: alimentazione PS (= posizione fissa)
Posto connettore 2: unit centrale CPU (= posizione fissa)
Posto connettore 3: modulo di interfaccia IM (= posizione fissa)
Posti connettore 4-11: moduli di ingresso/uscita SM, moduli funzionali FM e
processori di comunicazione CP (= posizione libera)

Il bus collega il telaio di montaggio mediante moduli di interfaccia (IM 361). L'interfaccia IMS
rappresenta il mittente e l'IMR il destinatario. I moduli devono essere inseriti nei posti connettore
indicati.
Nei telai di ampliamento deve essere previsto un alimentatore.
Per risparmiare sui costi, nella configurazione su due file si possono utilizzare moduli IM 365 con
cablaggio fisso che non richiedono alcun alimentatore supplementare.

La lunghezza dei cavi tra le file pu essere di:


- max. 1 m nella configurazione a due file con IM 365
- max. 10 m nella configurazione a pi file con IM 361 max.

Ai moduli funzionali, ad es. SINUMERIK FM NC, possibile assegnare una periferia particolare. In
tal modo il modulo ha una propria area di periferia, definita segmento locale, a cui pu accedere con
maggiore rapidit.
possibile prevedere un segmento locale per ciascun telaio di montaggio. Durante il funzionamento
non quindi possibile accedere a questa periferia dalla CPU.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 27 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Elementi principali dell'alimentatore e della CPU:

alimentatore event. memory card


moduli di ingresso/uscita
CPU

LED di stato

selettore della
tensione di rete

interruttore
ON/OFF

event. batteria interfaccia MPI


connettore di rete
selettore di modi operativi

LED di stato e di errore della CPU:

LED Funzione Spiegazione

SF (rosso) Errore cumulativo Con questo LED i moduli con funzioni di


diagnostica segnalano un errore cumulativo.

BAF (rosso) Errore nella batteria Si illumina se la batteria tampone non


fornisce una tensione sufficiente o manca.

DC5V (verde) Alimentazione DC5V per la CPU Indica che l'alimentatore interno a 5V della
e il bus backplane CPU funzionante.

FRCE (giallo) Forza Indica lo stato della CPU in cui gli ingressi e
le uscite vengono forzate da una funzione di
test.

RUN (verde) Stato operativo RUN Lampeggia all'avvio della CPU statico
quando la CPU in Run.

STOP (giallo) Stato operativo STOP Lampeggia durante la richiesta di


cancellazione totale della CPU statico
quando la CPU in stop.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 28 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Principi di sicurezza della CPU


Tutte le CPU sono dotate di interruttore a chiave per la commutazione fra i seguenti modi operativi:
RUN-P : Il programma viene elaborato, sono ammesse tutte le
funzioni di programmazione
RUN : Il programma viene elaborato, sono ammesse solo le
funzioni di lettura
STOP : Il programma non viene elaborato, sono ammesse tutte le
funzioni di programmazione
MRES : In questa posizione possibile eseguire la cancellazione
totale della CPU come descritto pi sotto
I principi di sicurezza dell'S7-300 consentono di proteggere dall'accesso non autorizzato alcuni
elementi del sistema di automazione quali:
? la CPU e i moduli programmabili
? gli oggetti (ad es. i blocchi)

Questi elementi possono essere gestiti e modificati per mezzo del PG o di sistemi di servizio e
supervisione.

I livelli di protezione della CPU sono tre e da essi dipende il tipo di interventi che l'operatore pu
effettuare:
? livello 1 interruttore a chiave su Run-P o Stop: nessuna protezione, sono ammesse tutte le
funzioni.
? livello 2 - interruttore a chiave su Run: protezione alla scrittura, sono ammesse le funzioni di
lettura, ad es. funzioni di supervisione, informazione, caricamento dalla CPU.
? livello 3 parametrizzabile mediante S7 Configuration (protezione mediante password). Se
l'utente non conosce la password pu eseguire solo le funzioni di controllo e informazione.

L'interruttore a chiave consente di effettuare la cancellazione totale della CPU nel seguente modo:

Fase Azione Risultato

1 Portare l'interruttore su STOP. Si illumina il LED STOP

2 Portare l'interruttore su MRES finch Il LED di STOP si spegne e si


non si illumina il LED di STOP, quindi riaccende dopo ca. 3 secondi
riportarlo su STOP

3 Subito dopo riportare l'interruttore su Il LED di STOP lampeggia per


MRES (brevemente) ca. 3 secondi e si riaccende:
operazione riuscita; i dati della
CPU sono stati cancellati

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 29 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.7 ESECUZIONE DEL PROGRAMMA

2.7.1 MEMORIA DI PROGRAMMA

Il programma pu essere eseguito in due diverse modalit in funzione del PLC utilizzato e del tipo di
programmazione.
L'esecuzione di un'istruzione richiede un dato tempo (microsecondi). Il tempo necessario per
eseguire una volta tutte le istruzioni viene definito tempo di ciclo, quello per l'esecuzione del
programma, ciclo di programma.

2.7.2 ESECUZIONE LINEARE DEL PROGRAMMA

Nel caso della programmazione lineare, il PLC esegue le istruzioni in memoria una dopo l'altra e,
una volta raggiunta la fine del programma (BE), ricomincia da capo.
In questo caso si parla di esecuzione ciclica.
Il tempo impiegato da un PLC per eseguire una volta tutte le istruzioni viene definito tempo di ciclo.
L'esecuzione lineare del programma viene generalmente utilizzzata per il controllo di sistemi
semplici e non molto grandi e pu essere contenuta in un solo OB.

, OB1
1. Istruzione
2. Istruzione
3. Istruzione

BE

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 30 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.7.3 ESECUZIONE STRUTTURATA DEL PROGRAMMA

Per l'automazione di sistemi complessi, il programma si suddivide in una serie di blocchi pi


semplici a cui si attribuisce una data funzione. Il vantaggio di questo metodo consiste nella
possibilit di testare separatamente le varie parti del programma per poi ricomporle in una funzione
unica in fase di funzionamento.
I blocchi del programma vengono richiamati tramite appositi comandi di richiamo (Call xx / UC xx /
CC xx). Quando viene rilevata la fine del blocco, l'esecuzione del programma prosegue dal blocco
richiamante, leggendo listruzione dopo il richiamo.

OB 1 FB 1 FC 21 DB 11
Call FB1, DB10 UC FC21 DB globale
per tutti gli
FB
BE FC
OB

DB 10
DB di istanza
Dati locali solo
FB1
BE

FC 2

UC FC2
OB = blocco organizzativo
FB = blocco funzionale
FC = funzione
BE DB = blocco dati

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 31 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

2.7.4 BLOCCHI UTENTE

Per la programmazione strutturata, STEP 7 mette a disposizione i seguenti tipi di blocco utente:

? OB (blocco organizzativo)
Il sistema operativo richiama ciclicamente un OB e lo utilizza come interfaccia con il programma
utente. In questo OB, lunit di controllo viene informata su quali blocchi di programma deve
eseguire.
? FB (blocco funzionale)
Gli FB dispongono di una propria area di memoria. Al richiamo possibile assegnarvi un blocco dati
(DB). L'accesso ai dati del DB di istanza avviene mediante i richiami dell'FB. Un FB pu essere
assegnato a pi DB. Inoltre dall'FB possibile richiamare altri FB e FC mediante appositi comandi
di richiamo.
? FC (funzione)
Le FC non dispongono di una propria area di memoria. I dati locali di una funzione vanno persi dopo
la sua esecuzione. Dall'FC possibile richiamare altri FB e FC mediante appositi comandi di
richiamo.
? DB (blocco dati)
I DB vengono utilizzati come memoria per le variabili di dati. Sono disponibili due tipi di DB: i DB
globali i cui dati possono essere letti e scritti da tutti gli OB, FB e FC, e i DB di istanza che sono
assegnati ad un FB particolare.

2.7.5 BLOCCHI DI SISTEMA PER LE FUNZIONI STANDARD E DI SISTEMA

I blocchi di sistema sono funzioni gi predefinite, memorizzate nella CPU.


I blocchi di questo tipo possono essere richiamati dall'utente e utilizzati nel programma.

In STEP 7 sono disponibili i seguenti blocchi di sistema:

? SFB (Blocco funzionale di sistema):


Blocco funzionale memorizzato nel sistema operativo della CPU e richiamabile dall'utente.
? SFC (Funzione di sistema):
Funzione memorizzata nel sistema operativo della CPU e richiamabile dall'utente.
? SDB (Dati di sistema):
Area di memoria del programma generata da diversi tool di STEP 7 (ad es.: S7 Configuration,
Communication Configuration ... ) per la memorizzazione dei dati per il sistema di automazione.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 32 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 33 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

3. LINGUAGGIO DI PROGRAMMAZIONE STEP 7

3.1 INFORMAZIONI GENERALI

In seguito alla sostituzione di SIMATIC S5 con SIMATIC S7


stato sviluppato un nuovo software di programmazione
(STEP7) basato sulla norma IEC 1131.
Il software di programmazione STEP 7 dotato di superficie
grafica.

3.2 CONVERSIONE STEP 5 ? STEP 7

Il tool di STEP 7 Conversione di file S5 consente di convertire in STEP 7 i programmi scritti con
STEP 5.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 34 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

3.3 NORMA IEC 1131 SUI PLC

+-
-+ ?? ? ?
? ???

Fino a pochi anni fa la tecnica di controllo vedeva il proliferare di una variet di linguaggi e
sottolinguaggi diversi da produttore a produttore. Gradualmente andata persa la base comune non
solo nel software, ma anche nell'hardware dove questa tendenza causa di problemi di
comunicazione tra i PLC.

X I 0.0
X M 12.4
= Q 2.7

La norma IEC 1131 ha cercato di uniformare la tecnica di controllo riportandola a degli standard
internazionali. Sotto la presidenza degli USA, la Commissione Elettrotecnica Internazionale (IEC) ha
pubblicato una norma sui PLC suddivisa in 5 parti:

Parte 1: concetti generali e funzioni tipiche


Parte 2: caratteristiche elettroniche, meccaniche e funzionali delle apparecchiature
Parte 3: cinque linguaggi di programmazione
Parte 4: direttive per le fasi di progettazione
Parte 5: comunicazione fra PLC di produttori diversi

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 35 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

3.4 STRUTTURA DELLE DIRECTORY

Per la gestione dei file in STEP 7 viene utilizzato il SIMATIC Manager che consente, ad esempio,
di copiare i blocchi del programma o di richiamarli con un clic del mouse per poterli elaborare con
altri tool. I comandi sono gli stessi di WINDOWS 95/98/NT (ad es. si pu visualizzare il menu a
comparsa di un elemento selezionandolo con un clic del tasto destro del mouse).

In STEP 7 i progetti hanno una struttura ben definita e i programmi sono memorizzati nelle seguenti
directory:

Stazioni SIMATIC 300:


qui vengono salvati i dati
di configurazione
dell'hardware e della CPU.

Progetto:
questa directory contiene
l'hardware (ad es. le stazioni Sorgenti:
SIMATIC 300) e le sotto-reti qui vengono salvati i file
(ad es. MPI e PROFIBUS). sorgente (ad es. i sorgenti
SCL) che possono essere
compilati e convertiti in
programmi eseguibili.

Blocchi:
qui vengono salvati i
blocchi del programma
(OB, FB, FC, SFB, SFC,
DB ecc.).

Simboli:
qui vengono salvate le liste
CPU: dei simboli per
qui compaiono il l'indirizzamento simbolico.
programma S7 e i Programma S7:
partner collegati in qui vengono gestiti i
rete (Collegamenti). programmi utente (Blocchi), le
tabelle dei simboli (Simboli) e i
sorgenti (Sorgenti).

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 36 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Le cartelle Stazione SIMATIC 300 e CPU contengono gli elementi della configurazione hardware
del PLC. I progetti devono essere quindi sempre considerati in relazione all'hardware specifico che
utilizzano.
tuttavia possibile creare un progetto indipendentemente dalla configurazione hardware omettendo
tali cartelle.

In tal caso il progetto ha la seguente struttura:

Progetto:
questa directory contiene
l'hardware (ad es. le stazioni Sorgenti:
SIMATIC 300) e le sotto-reti qui vengono salvati i file
(ad es. MPI e PROFIBUS). sorgente (ad es. i sorgenti
SCL) che possono essere
compilati e convertiti in
programmi eseguibili..

Blocchi:
qui vengono salvati i
blocchi del programma
(OB, FB, FC, SFB, SFC,
DB ecc.).

Simboli:
qui vengono salvate le liste
dei simboli per
l'indirizzamento simbolico.
Programma S7:
qui vengono gestiti i
programmi utente (Blocchi), le
tabelle dei simboli (Simboli) e i
sorgenti (Sorgenti).

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 37 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

3.5 CONFIGURAZIONE E PARAMETRIZZAZIONE

Durante la fase di avviamento del sistema, la CPU rileva la configurazione attuale del sistema e la
memorizza nei dati di sistema (SDB).
Servendosi del tool Configurazione hardware possibile creare una configurazione prefissata
diversa e riconfigurare la struttura del controllo. Si pu anche caricare dalla CPU una configurazione
creata precedentemente. inoltre possibile attribuire dei parametri alla CPU e ai moduli (ad es. il
comportamento all'avviamento e durante il ciclo).

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 38 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

3.6 ISTRUZIONI

Per controllare un sistema tramite un PLC, il compito di comando viene scomposto in singole
istruzioni. Per 'istruzione' si intende un'unit indipendente del programma di controllo che determina
quale azione verr eseguita.

Il nome, gli identificatori e i simboli delle istruzioni sono stabiliti nella norma DIN 19 239.

Le istruzioni presentano la seguente struttura:

Istruzione

Operando
Operazione
Identificatore Parametro

U E 0.0

3.6.1 OPERAZIONI

L'operazione descrive la funzione da eseguire. La norma DIN 19 239 distingue fra:

Operazioni organizzative
Organisatorische Operationen

Operazioni
Operationen

Operazioni binarie
Binre Operationen Operazioni digitali
Digitale Operationen

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 39 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Esempi di operazioni digitali:

L ..... Carica
T ..... Trasferisci
>I ..... Confronto di numeri interi su maggiore
==R ..... Confronto di numeri reali su uguale
ecc.

Esempi di operazioni binarie:

Estratto da DIN 19 239

FUP KOP AWL


& || U AND
|/| N NEGAZIONE
>1 || O OR
() = ASSEGNAZIONE
ecc.

Esempi di operazioni organizzative:

CC ..... Richiamo condizionato di un blocco


UC ..... Richiamo incondizionato di un blocco
AUF ..... Apertura di un blocco dati
SPA ..... Salto assoluto
SPB ..... Salto condizionato
BEA ..... Fine incondizionata del blocco
BEB ..... Fine condizionata del blocco
ecc.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 40 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

3.6.2 OPERANDI

La parte dell'istruzione relativa all'operando contiene le indicazioni necessarie per eseguire


l'operazione.
In particolare essa indica con cosa lunit di controllo deve eseguire una data operazione.
L'identificatore delloperando specifica il tipo di operando.

Ad esempio:

E Ingressi
A Uscite
M Merker
L Dati locali (variabili interne al
blocco)
T Temporizzatori
Z Contatori
OB Blocco organizzativo
FB Blocco funzionale
FC Funzione
DB Blocco dati
SFB Blocco funzionale di sistema
SFC Funzione di sistema
L#.. Costante a 32 bit
ecc.

Il parametro indica l'indirizzo dell'operando.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 41 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

3.7 INDIRIZZAMENTO

3.7.1 INDIRIZZAMENTO SIMBOLICO

L'indirizzamento simbolico, ovvero l'attribuzione di un nome simbolico ad un indirizzo assoluto,


risulta particolarmente utile perch facilita la comprensione. Ad esempio, si pu associare l'ingresso
E 0.0 al nome END_STOP e attribuirvi il tipo di dati BOOL. I nomi simbolici devono essere utilizzati
una sola volta. L'assegnazione viene effettuata con il tool Editor di simboli che si avvia dal SIMATIC
Manager.

3.7.2 INDIRIZZAMENTO ASSOLUTO

STEP 7 riconosce i seguenti tipi di indirizzamento assoluto:

? indirizzamento immediato
? indirizzamento diretto
? indirizzamento indiretto di memoria

Indirizzamento immediato

In questo tipo di indirizzamento l'operando codificato direttamente nell'operazione, ovvero segue


direttamente il valore che deve essere oggetto dell'operazione oppure viene dedotto dall'operazione.

Esempio
SET Imposta a 1 il RLC (risultato logico combinatorio).
+D Somma il contenuto dell'ACCU 1 al contenuto dell'ACCU 2
e colloca il risultato nell'ACCU 1.

Indirizzamento diretto

L'indirizzo dell'operando codificato nell'operazione, ovvero l'operando indica l'indirizzo del valore
oggetto dell'operazione. L'operando costituito da un identificatore e un parametro e punta
direttamente all'indirizzo del valore.

Esempio
U E 0.0 Esegui un'operazione logica AND del bit di ingresso E 0.0.
L EB 0 Carica il byte di ingresso EB 0 nell'ACCU 1.
= A 4.0 Assegna l'RLC al bit di uscita A 4.0.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 42 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

Indirizzamento indiretto di memoria

L'indirizzo dell'operando viene indicato indirettamente mediante un altro operando che contiene
l'indirizzo del primo, ovvero l'operando indica l'indirizzo del valore oggetto dell'operazione.
L'operando costituito da un identificatore e uno dei seguenti puntatori:

? una parola contenente il numero di un temporizzatore(T), contatore(Z), blocco dati (DB),


funzione (FC) o blocco funzionale (FB).
? una doppia parola contenente l'indirizzo preciso di un valore nell'area di memoria specificata
dall'identificatore dell'operando.
L'indirizzo del valore o del numero viene specificato indirettamente dall'operando tramite il
puntatore. La parola o doppia parola pu trovarsi in un merker (M), blocco dati (DB), blocco
dati
di istanza (DI) o dati locali (L).

Esempio
U E [MD 3] Esegui un'operazione logica AND del bit di ingresso.
L'indirizzo esatto si trova nella parola doppia di merker MD 3.
L EB [DID 4] Carica il byte di ingresso nell'ACCU 1. L'indirizzo esatto si
trova nella doppia parola dati di istanza DID 4.
AUF DB [MW 2] Apri il blocco dati. Il numero del blocco dati si trova nella
parola di merker MW 2.

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 43 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

3.8 RAPPRESENTAZIONE DEL PROGRAMMA

In STEP 7 il programma pu essere rappresentato e programmato in tre diversi linguaggi con


programmazione di blocchi KOP/FUP/AWL:

? schema a contatti KOP


? schema logico FUP
? lista istruzioni AWL

3.8.1 SCHEMA A CONTATTI (KOP)

Il linguaggio schema a contatti consente di rappresentare graficamente il sistema da controllare per


mezzo di simboli a norma DIN 19 239, comunemente utilizzati anche negli USA. Assomiglia molto
ad un normale schema elettrico a contatti, tuttavia per la necessit di rappresentare il programma
sullo schermo, i montanti non sono disposti verticalmente ma orizzontalmente.

E 0.0 E 0.1 A 0.0 E 0.3 A 0.1


|| || () || ()
E 0.2
||

Operazione AND Operazione OR

3.8.2 SCHEMA LOGICO (FUP)

Nel linguaggio schema logico il sistema da controllare viene rappresentato graficamente mediante
simboli a norma DIN 40 700 e DIN 19 239. Ogni funzione rappresentata da un simbolo che ne
indica la funzione. A sinistra del simbolo compaiono gli ingressi e a destra le uscite.

E 0.0 E 0.2
& A 0.0 >1 A 0.1
E 0.1 E 0.3

Operazione AND Operazione OR

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 44 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

3.8.3 LISTA ISTRUZIONI (AWL)

Nel linguaggio lista istruzioni il sistema da controllare viene descritto mediante una sequenza di
istruzioni.
L'istruzione (operazione e operando) utilizza delle abbreviazioni mnemoniche del nome della
funzione (a norma DIN 19 239).

Operazione: Operando:
Identificatore Parametro
U E 0.0 Operazione logica AND
U E 0.1
= A 4.0
O E 0.2 Operazione logica OR
O E 0.3
= A 4.1

Ogni tipo di rappresentazione caratterizzata da particolari caratteristiche e presenta dei limiti


specifici. Se si rispettano particolari regole durante la programmazione, possibile compilare il
programma in tutti e tre i tipi di rappresentazione senza alcun problema. Generalmente i programmi
scritti in KOP o FUP possono essere sempre compilati in AWL.
Nella memoria di programma dei PLC il programma viene sempre memorizzato in lista istruzioni (e
in ogni caso in linguaggio macchina).

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 45 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300
Tecnica di automazione e azionamento

3.9 MERKER

Per le operazioni logiche all'interno del PLC per le quali non necessario inviare segnali all'esterno,
vengono utilizzati dei merker.
I merker sono elementi di memoria elettronici (flip-flop RS) che consentono di memorizzare gli stati
di segnale "0" e "1".
Ogni PLC ha a disposizione un gran numero di merker che vengono programmati come uscite. Se
viene a mancare la tensione di esercizio, il contenuto memorizzato nei merker va perso.

3.9.1 MERKER A RITENZIONE

Una parte dei merker del tipo a ritenzione (mantengono le informazioni anche in assenza di
tensione). Grazie alla batteria tampone del PLC l'assenza di tensione viene bypassata consentendo
di mantenere in memoria gli stati logici.

Merker a ritenzione

- mantengono l'ultimo stato in caso di interruzione della tensione di alimentazione


- mantengono l'ultimo stato in caso di passaggio dal modo operativo "RUN>STOP"
- possono essere resettati dal programma utente con "PLC>Cancellazione totale"

I merker a ritenzione consentono di mantenere in memoria l'ultimo stato dell'impianto o della


macchina prima di uscire dall'attuale stato operativo. In caso di nuovo avvio, l'impianto o la
macchina possono quindi riprendere a lavorare dal punto in cui si trovavano al momento
dell'arresto.
Le aree a ritenzione vengono definite mediante la parametrizzazione della CPU con il tool S7
Configuration.

3.9.2 MERKER NON A RITENZIONE

Questi merker vengono resettati in caso di commutazione del modo operativo RUN>STOP e quando
impostato "ALIMENTAZIONE ON".

Siemens SCE (Siemens Cooperates with Education)

Dispensa Siemens SCE Pagina 46 di 46 Modulo 1


Edizione: 1/2004 Principi di programmazione PLC con SIMATIC S7-300