Beruflich Dokumente
Kultur Dokumente
Modulo 1
Principi di programmazione del PLC
con SIMATIC S7-300
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.
PAGINA:
1. Premessa .......................................................................................................... 5
PAGINA:
1. PREMESSA
COMANDO
STEUERN REGOLAZIONE
REGELN
PLC
SPS
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.
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.
I segnali elettrici presenti negli ingressi e nelle uscite possono essere suddivisi in due gruppi:
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:
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.
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
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
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
2 1 5 Dezim
Numero
alzahl decimale
200 + 10 + 5
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
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.
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
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.
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
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).
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
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
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
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
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
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.
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.
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
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.
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: L'indirizzo di una doppia parola, ad es. ED, AD, MD ecc., corrisponde sempre
all'indirizzo pi basso delle due parole che la compongono.
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:
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.
Sistema di automazione
Automatisierungsgert
PLC
SPS
Generatori di segnali
Signalgeber Attuatori e segnalatori
Stellgerte luminosi
bzw. Leuchtmelder
Automatisierungsgert
Sistema di automazione
Alimentatore
Stromversorgungsbaugruppe Sistema Bus
Bussystem
Moduli di Ausgabebaugruppen
Ein- und ingresso e uscita
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
Alimentazione
Stromversorgung attuatori
fr Stellgerte/
Leuchtmelder
/segnalatori luminosi
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.
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
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.
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
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.
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.
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.
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.
Moduli
I PLC SIMATIC S7-300 sono costituiti, oltre che dalla CPU, dai seguenti moduli:
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
1024 merker 2048 merker 2048 merker 2048 merker 2048 merker 2048 merker
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.
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
locale
N. posto connettore
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.
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.
LED di stato
selettore della
tensione di rete
interruttore
ON/OFF
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.
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:
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.
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
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
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.
Il tool di STEP 7 Conversione di file S5 consente di convertire in STEP 7 i programmi scritti con
STEP 5.
+-
-+ ?? ? ?
? ???
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:
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:
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).
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.
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).
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).
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.
Istruzione
Operando
Operazione
Identificatore Parametro
U E 0.0
3.6.1 OPERAZIONI
Operazioni organizzative
Organisatorische Operationen
Operazioni
Operationen
Operazioni binarie
Binre Operationen Operazioni digitali
Digitale Operationen
L ..... Carica
T ..... Trasferisci
>I ..... Confronto di numeri interi su maggiore
==R ..... Confronto di numeri reali su uguale
ecc.
3.6.2 OPERANDI
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.
3.7 INDIRIZZAMENTO
? indirizzamento immediato
? indirizzamento diretto
? indirizzamento indiretto di memoria
Indirizzamento immediato
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.
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:
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.
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
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
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.
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
Questi merker vengono resettati in caso di commutazione del modo operativo RUN>STOP e quando
impostato "ALIMENTAZIONE ON".