Sei sulla pagina 1di 45

Programmable

Logic
Controller

- Controllore a Logica Programmabile -


(con particolare riferimento ai PLC Siemens S7-200)

Dispensa a cura del Prof. Silvio Bani


Prof. Bani S.

INTRODUZIONE AI CONTROLLORI LOGICI PROGRAMMABILI (PLC)

Introduzione
Il controllore a logica programmabile (PLC : Programmable Logic Controller) una
apparecchiatura elettronica costituzionalmente molto simile a un calcolatore, ma realizzata con delle
particolarit specifiche, soprattutto per quanto riguarda il linguaggio di programmazione e
linterfacciamento con i dispositivi esterni.
Questa nuova categoria di apparecchiature, apparsa per la prima volta sul mercato, attorno agli
anni 70, stata sempre pi raffinata ed oggi in continua e rapida evoluzione. Avvalendosi delle pi
moderne tecnologie elettroniche, i controllori a logica programmabile hanno raggiunto elevata
affidabilit nelle applicazioni industriali, dove esistono condizioni ambientali molto severe causate da
disturbi elettrici, alte temperature, shock meccanici e sostanze inquinanti.
Il controllore a logica programmabile sta assumendo il ruolo di componente fondamentale per la
realizzazione della fabbrica automatica. Non esiste infatti settore di produzione, trasformazione o
controllo nel quale non si trovino esempi di applicazioni del controllore a logica programmabile.
I controllori delle ultime generazioni hanno perso le caratteristiche originali di semplici
sequenziatori per assumere sempre pi quelle di veri calcolatori di processo, dotati di possibilit di
comunicazione con altri computers e di sofisticate interfacce con lutente.

Logica cablata e logica programmata


Un sistema, progettato per automatizzare una macchina o un impianto, costituito da tre parti
essenziali:
- sezione di ingresso;
- sezione di elaborazione;
- sezione di uscita.
Le sezioni di ingresso e di uscita svolgono prevalentemente il compito di adattare i segnali
elettrici che provengono dallimpianto e quelli che vanno a comandare gli apparati azionatori.
Il controllo delle condizioni che consentono la sequenza di attivazione a organi che costituiscono
la macchina eseguito dallautomatismo, identificabile con la sezione di elaborazione. possibile
realizzare un automatismo con componenti elettromeccanici (rel, temporizzatori) oppure utilizzando
circuiti statici, cio circuiti elettronici a piccola e media scala di integrazione che realizzano le funzioni
logiche fondamentali (AND, OR, NOT), le funzioni di conteggio, addizione e memorizzazione. In base
alla tecnologia adottata si parla di :
- sistema con logica cablata (di tipo elettromeccanico);
- sistema con logica cablata statica (di tipo elettronico).
Le reti di questo tipo sono reti combinatorie cio reti in cui il valore che assume luscita (o le
uscite) in un certo istante funzione soltanto del valore che in quellistante assumono gli ingressi.
Negli ultimi anni c stata una tendenza a sostituire i sistemi con logica a rel con i sistemi a
logica statica. I principali motivi che hanno spinto verso questa innovazione sono i seguenti:
- i sistemi produttivi richiedono prestazioni sempre pi sofisticate e ci imporrebbe un aumento
del volume e della complessit della sezione di elaborazione a causa del maggiore ingombro dei circuiti
elettromeccanici rispetto a quelli statici;
- i rel hanno una durata limitata nel tempo se il numero di commutazioni elevato, mentre i
componenti statici, non avendo organi meccanici in movimento, sono praticamente esenti da usura;
- il tempo di commutazione dei rel elevato rispetto a quello dei circuiti statici;
- limpiego dei circuiti a rel molto dispendioso e poco pratico quando bisogna realizzare
funzioni complesse come il conteggio, la temporizzazione e la memorizzazione.
Per contro i circuiti a rel presentano alcuni vantaggi:
- affidabilit molto buona quando non richiesto un elevato numero di commutazioni;
- alimentazione che non richiede particolari requisiti;
- ottima immunit ai disturbi;
File: PLC.DOC Pagina 1
Prof. Bani S.

- manutenzione e ricerca guasti che non necessitano di strumentazione particolare e costosa, ne


di personale particolarmente specializzato.
Tuttavia i sistemi a logica cablata, sia statici che elettromeccanici, hanno il grosso svantaggio di
offrire scarsa flessibilit a eventuali modifiche della funzione logica.
Si tenga presente che molte volte necessario apportare modifiche a causa di varianti od
estensioni del progetto, per errori e lacune evidenziate in sede di primo impiego della macchina o
dellimpianto. Ogni variazione al progetto comporta una modifica del cablaggio. Nel caso di circuiti
statici integrati, le cui connessioni sono realizzate con circuiti stampati, una modifica al cablaggio non
facile da realizzare.
Gli svantaggi derivanti da un sistema rigido come quello a logica cablata sono poco sentiti nelle
produzioni di serie, dove non si richiedono modiche notevoli ne in fase di messa in servizio ne in fase
operativa. Oggi per lo sviluppo di un progetto pesa molto rispetto a tutti gli altri fattori di costo, per cui
la scarsa flessibilit dei sistemi cablati si fa sentire anche quando le varianti al progetto iniziale sono di
piccola entit.
Per ovviare allinconveniente della scarsa flessibilit si sono adottate soluzioni che impiegano
apparecchiature molto simili a un elaboratore.
Un elaboratore un apparecchiatura che esegue una serie di comandi (o istruzioni) in sequenza,
registrati precedentemente nella memoria elettronica dellelaboratore stesso. Linsieme delle istruzioni,
che svolgono una funzione richiesta, costituisce il programma applicativo. Risulta quindi evidente che,
disponendo di unapparecchiatura in grado di realizzare le principali funzioni logiche richieste per la
conduzione di una macchina o di un processo secondo un determinato programma memorizzato,
possibile modificare un intero ciclo produttivo anche in fase operativa, semplicemente cambiando il
programma.
Linnovazione di questi sistemi rispetto ai sistemi classici di automazione (sia a rel che statici)
rappresentata dalla programmabilit. Limpiego dei PLC ha contribuito al diffondersi della dizione
logica programmata, contrapposta a quella di logica cablata.

Costruttori, criteri di scelta e impieghi


Oggi sul mercato esistono diversi modelli di controllori a logica programmabile e tutte le maggiori
case costruttrici sono presenti con un loro prodotto. Questi si differenziano a seconda delle necessit
dutilizzo: si va dai pi semplici controllori programmabili (capaci di gestire solo ingressi e uscite digitali)
a sistemi in grado di controllare processi molto complessi.
Fra le maggiori case costruttrici possiamo ricordare Siemens, Allen-Bradley, Telemecanique,
Omron, C.G.E. e Hitaci. La scelta fra un modello e laltro legata a molti fattori: il prezzo, la
reperibilit sul mercato, laffidabilit del prodotto e la conoscenza specifica del prodotto che possiede
chi deve sviluppare il software. Per conoscenza specifica sintende la conoscenza del softwerista
relativamente al prodotto che usa, alla padronanza del linguaggio di programmazione (diverso per ogni
casa costruttrice), dellhardware che ha a disposizione e come meglio riesce a conciliare i prodotti con
lo scopo prefissato che deve raggiungere. Risulta praticamente impossibile conoscere in modo
approfondito i linguaggi di programmazione e la gamma di prodotti di ogni singola casa costruttrice per
operare di conseguenza una scelta del prodotto da impiegare. La scelta di utilizzare prodotti Siemens,
nel nostro caso, determinata dal fatto che la casa detiene circa il 40% del mercato relativo dei PLC.
Lesperienza insegna che una volta effettuata la scelta sulla casa costruttrice i tecnici si specializzano
sempre di pi sui prodotti della stessa e difficilmente si potr pensare ad una scelta diversa.
I primi PLC nacquero per la gestione di soli ingressi e uscite digitali, con una lista di istruzioni
(linguaggio di programmazione) composto da sole operazioni logiche. Pur con questi limiti, vi era il
vantaggio di avere allinterno del PLC un notevole numero di temporizzatori, di contatori e memorie. Ci
si svincolava poi dal numero di contatti fisici che possono essere messi a disposizione da un qualsiasi
rel. Visto il successo sul mercato, le case costruttrici pensarono di ampliare le possibilit di utilizzo dei
PLC per poterli utilizzare in controlli di processo sempre pi complessi. Vennero cos realizzate schede
per la gestione di ingressi e uscite analogiche, per il controllo di temperatura, per il controllo di dosaggio,
per il posizionamento degli assi elettrici, ecc. che possono essere inserite direttamente nel rack del PLC
dal quale prelevare lalimentazione ad avere accesso diretto al bus di comunicazione con la CPU.
File: PLC.DOC Pagina 2
Prof. Bani S.

Negli ultimi anni, per quanto riguarda il posizionamento degli assi elettrici, si notevolmente
ampliata la gamma delle schede a disposizione, al punto tale da rendere sempre pi sottile il confine
esistente tra un PLC e un controllo numerico (CNC).
Questo sviluppo repentino dei PLC ha fatto sorgere un altro problema: la comunicazione uomo-
macchina. Per questo motivo sono nati i pannelli operatore, cio dei dispositivi che, allacciati
direttamente al bus del PLC, rendono possibile la modifica dei parametri di processo. possibile,
addirittura, collegare il PLC con un personal computer il quale assume il ruolo di supervisore nel
controllo di processo, relegando al PLC il compito di esecutore.
Sul mercato, ogni casa costruttrice, dispone di una propria gamma di prodotti diversificati per
potenzialit e costi, indirizzata a soddisfare le diverse esigenze. PLC un termine generico che
individua macchine che possono essere utilizzate sia per controlli di processo semplici che complessi, in
base al modello di PLC utilizzato. Ogni casa dispone infatti di diversi modelli che differiscono per
possibilit di ampliamento, velocit di scansione del programma, possibilit di utilizzo di schede speciali.
Queste differenze fanno variare il costo di un PLC da poche centinaia di euro fino a svariate centinaia .
I PLC sono utilizzati nei pi svariati settori sia civili che industriali. Ad esempio Siemens produce
modelli di PLC per impieghi civili dedicati alla gestione degli ascensori ed alla gestione degli impianti di
riscaldamento. Nellambito industriale vengono gestite linee di produzione, palettizzazione,
immagazzinaggio ecc.

Confronto tra PLC e MicroProcessori


Il controllore a logica programmabile un apparecchiatura in grado di eseguire sequenzialmente
un insieme ordinato di istruzioni scritte nella propria memoria. Le istruzioni hanno il compito di acquisire
lo stato dei segnali digitali o analogici provenienti dalla macchina, elaborare questi segnali secondo
preordinate funzioni logiche e matematiche e, in base ai risultati dellelaborazione, determinare lo stato
delle uscite che comandano gli attuatori della macchina.
Queste modalit operative sono analoghe per i PLC e per i microprocessori quindi tutti i
dispositivi citati possono avere impieghi equivalenti. La fondamentale differenza sta nel linguaggio di
programmazione. Il PLC permette di programmare con un linguaggio evoluto, non in assembler come
per i microprocessori, in quanto allinterno della CPU dei PLC vi un compilatore da linguaggio di
programmazione ad assembler. Si pu dire perci che la programmazione non avviene in micro
istruzioni (tipiche del linguaggio assembler), ma tramite macro-istruzioni. Questo fattore penalizza, per
certi versi, le prestazioni di un PLC rispetto a quelle di un microprocessore in particolare la velocit di
esecuzione del programma applicativo (nei PLC questo problema pu essere risolto utilizzando pi
processori che lavorano contemporaneamente, ed eseguono un continuo scambio di dati).
Anche i costi, a parit di prestazioni, sembrerebbero privilegiare un sistema a microprocessore
ma la difficolt di programmazione in linguaggio assembler fa si che i PLC siano maggiormente
impiegati nellautomazione sia civile che industriale.

Architettura di un PLC
Un PLC costituito fondamentalmente da cinque parti (figura 1):
- CPU (Central Processing Unit), il cervello del sistema, prende tutte le decisioni logiche;
- sezione di MEMORIA, il supporto fisico dove sono registrate le istruzioni che costituiscono
il programma applicativo e i dati necessari per funzioni ausiliarie;
- sezione di INGRESSO, riceve i segnali elettrici (digitali o analogici) provenienti dallimpianto
(finecorsa, pressostati, pulsanti, selettori, ecc.);
- sezione di USCITA, riceve i segnali prodotti dallelaborazione e li adatta per comandare con
potenze adeguate i vari organi attuatori (motori, elettrovalvole, teleruttori, frizioni,
visualizzatori, lampade, ecc.);
- BUS, consente la comunicazione tra le varie sezioni.

File: PLC.DOC Pagina 3


Prof. Bani S.

Memoria Figura 1 lhardware di un PLC costituito


da: Unit Centrale, Memoria e sezioni di
Ingresso/Uscita.
I dati e gli indirizzi scambiati tra i blocchi
Unit transitano su un BUS di comunicazione.
Centrale
B (CPU)
U
S

Ingressi

Impianto

Uscite

Unit centrale di processo (CPU)


La CPU, Central Processing Unit o unit centrale
costituisce lintelligenza del PLC. Essa legge lo stato dei
segnali di ingresso provenienti dalla macchina da
controllare ed esegue, in sequenza, le istruzioni registrate
in memoria. In base ai risultati dellelaborazione provvede
ad aggiornare lo stato delle uscite del sistema (figura 2).
Le prime CPU erano costruite cablando molti
componenti discreti; oggi sono state sostituite dal
microprocessore, che ha notevolmente migliorato le
prestazioni di velocit e potenza di elaborazione e ha
drasticamente ridotto lingombro.
Lo scambio di informazioni tra il microprocessore e
le sezioni I/O e di memoria avviene mediante la
trasmissione, su una struttura chiamata BUS, di una
parola alla volta, costituita da un certo numero di bit: per
esempio 4,8,16,32; da qui la dizione di microprocessori a
4,8,16,32 bit.

Figura 2 - La CPU legge lo stato dei segnali


dingresso provenienti dalla macchina da
controllare, esegue in sequenza le istruzioni
registrate in memoria e, in base ai risultati
logici dellelaborazione provvede ad aggiornare
lo stato delle uscite del sistema.

File: PLC.DOC Pagina 4


Prof. Bani S.

Memoria
Normalmente si intende per memoria del PLC solamente la memoria che contiene il programma
applicativo. In realt in un PLC la memoria suddivisa in diverse zone, ciascuna adibita a compiti
differenti. Anche se le soluzioni adottate dai costruttori sono molto diverse fra loro, si pu in generale
considerare la memoria suddivisa nelle seguenti parti (figura 3):
- memoria per il programma utente;
- memoria per le funzioni interne;
- memoria per lo stato degli ingressi e delle uscite;
- memoria per il software di sistema (sistema operativo).
La quantit di memoria disponibile per contenere il programma utente e i dati varia secondo il
modello e la casa costruttrice del PLC.
Lestensione in memoria misurata in K words, dove K labbreviazione di kilo; in questo
ambiente, anzich 1000 vale 1024 (210 ). Una Word in genere di 16 bit. Se un costruttore indica una
memoria massima di 8K significa 8 x 1024 word, la quantit di memoria determina anche il numero di
istruzioni inseribili nella memoria stessa.

Figura 3 - La memoria del PLC suddivisa in diverse zone,


ciascuna adibita a compiti differenti:
Sistema operativo - memoria per il programma utente;
- memoria per le funzioni interne;
- memoria per lo stato degli ingressi e delle uscite;
Immagine dello
stato degli ingressi
- memoria per il software di sistema .

M emoria per il programma utente


Immagine dello
stato delle uscite La memoria per il programma utente contiene le
istruzioni che costituiscono il programma. Esse sono
registrate una dopo laltra, opportunamente codificate in una
Funzioni interne sequenza di bit. La CPU legge ed esegue ciascuna delle
COIL
CONTATORI istruzioni seguendo un ciclo di scansione che parte dalla prima
TEMPORIZZATORI istruzione fino allultima, per poi ripartire da capo (figura 4).
Questa memoria di tipo RAM, di solito realizzata con
tecnologia CMOS. Essendo una memoria volatile
Programma
utente necessario salvaguardare il contenuto nel caso di mancanza
improvvisa di tensione; per questo motivo prevista una
Memoria alimentazione supplementare, con una piccola batteria
tampone (o altre soluzioni, come ad esempio, un condensatore
ad alta capacit).
Figura 4 - Le istruzioni che Locazioni di CODICE Locazioni di CODICE
costituiscono il programma sono memoria MNEMONICO memoria BINARIO
registrate in memoria una dopo
laltra, in modo sequenziale. 0 STR 001 0 1010000000000001
Ogni istruzione codificata in 1 AND NOT 002 1 1011000000000010
binario. Nello esempio a ogni 2 OUT 040 2 1100000000101000
istruzione logica corrisponde una 3 STR NOT 040 3 1110000000000010
parola binaria di 16 bit. I 4 bit pi ... AND 002 ... 1101000000000100
significativi rappresentano il 99 OUT 041 99 1100000000101001
codice operativo (STR=1010, 100 100
ANDNOT=1011, ecc.). 101 101
I rimanenti bit rappresentano ... ...
lindirizzo delloperando o lope- ... ...
rando stesso. 4094 4094
4095 4095
File: PLC.DOC Pagina 5
Prof. Bani S.

Memoria per le funzioni interne


La memoria per le funzioni interne ancora una memoria indirizzabile dallutente ma che contiene
i dati necessari allelaborazione logica e alle funzioni ausiliarie e i risultati intermedi prodotti da
operazioni aritmetiche e booleane (logiche).
Per esempio, nel normale funzionamento di un PLC pu essere necessario non trasferire
direttamente in uscita il risultato di una funzione logica, ma immagazzinare tale valore in un bit di
memoria per poterlo utilizzare come variabile di ingresso in altre equazioni logiche.
Lo stato di questo risultato intermedio detto bit interno di immagazzinamento, flag, merker, bobina
interna, coil.
I risultati intermedi di espressioni aritmetiche sono costituiti da parole interne, cio da una serie di
bit organizzati a gruppi di 4, 8, 16, 32.
I PLC dispongono di funzioni standard come i temporizzatori, i contatori e i registri a scorrimento
(shift register) che sono di grande aiuto nella programmazione di sistemi di controllo. I valori numerici
relativi a queste funzioni, per esempio il numero che esprime il tempo in una funzione logica di ritardo,
oppure il numero che rappresenta il valore massimo da conteggiare, devono essere memorizzati in una
parte della memoria per le funzioni interne. Anche questa memoria di tipo RAM CMOS, con batteria
tampone.

Memoria per lo stato degli ingressi e delle uscite


Una zona di memoria del PLC riservata agli ingressi e alle uscite. Questa zona, ha una
allocazione di tipo statico, cio i dati I/O sono registrati sempre negli stessi indirizzi; questo a differenza
dei programmi utente e dei dati per funzioni interne che sono allocati dinamicamente e cio nelle zone di
memoria che di volta in volta sono libere. In questi indirizzi viene registrata allinizio di ogni ciclo di
scansione unimmagine dello stato degli ingressi; in base al loro valore e alla funzione logica voluta dal
programma utente aggiornata la zona che contiene limmagine delle uscite.
Il valore di uno stato di ingresso o di uscita molte volte di tipo on-off. Per leggere con facilit lo
stato di un ingresso o per comandare unuscita i PLC sono progettati con un hardware opportuno, che
consente di indirizzare singolarmente ogni bit della memoria immagine di I/O.

Memoria per il software di sistema


I controllori a logica programmabile (PLC) sono dotati anche di una memoria non volatile di tipo
ROM o EPROM, nella quale memorizzato il sistema operativo, cio una serie di programmi definiti
dal costruttore indispensabili per gestire il corretto funzionamento di tutto lhardware.
Senza sistema operativo un controllore a logica programmabile, cosi come qualsiasi calcolatore,
non sarebbe altro che un insieme di circuiti elettronici senza vita.
Le funzioni principali del sistema operativo sono:
- diagnostica del sistema, intesa come segnalazione di guasti, presenza dellalimentazione, ecc.;
- controllo della scansione e della durata del programma utente;
- caricamento dei programmi applicativi da dispositivi di programmazione esterni al controllore;
- pilotaggio di eventuali periferiche collegate al controllore programmabile attraverso interfaccia di
comunicazione.

Sezioni di ingresso e uscita: input/output (I/O)


Il PLC un apparecchiatura fortemente orientata allinterfacciamento con dispositivi industriali.
Le sue sezioni di ingresso e uscita devono essere compatibili con una vasta gamma di segnali elettrici
che vanno dai 5V DC ai 220V AC, dai segnali digitali a quelli analogici.
La disponibilit di diverse soluzioni di I/O uno degli elementi pi importanti per valutare le
prestazioni di un modello o di una marca di PLC; inoltre un parametro che determina fortemente il
costo finale della configurazione.
I moduli di I/O, dovendo rispondere alle esigenza pi diversificate, sono disponibili per tutti i modelli
di PLC in una vasta gamma, con caratteristiche pi o meno standard, inseribili in uno qualsiasi degli
slots per lI/O presenti nel rack del PLC.
File: PLC.DOC Pagina 6
Prof. Bani S.

Per capire meglio le caratteristiche tecniche delle unit I/O si devono esaminare i cataloghi dei
costruttori in cui sono presentate alcune unit di ingresso e di uscita.

Blocchi ingressi - Uscita digitali

File: PLC.DOC Pagina 7


Prof. Bani S.

Unit di INPUT
Il data sheet di pagina 7 e 8 descrive alcuni tipi di unit di ingresso/uscita digitali. Una unit di
ingresso digitale converte i segnali binari (di ON - OFF) del processo da controllare al livello dei segnali
interni del controllore, che tipicamente sono segnali elettrici TTL (05V). Lo stato dei segnali
visualizzato con LED verdi o rossi presenti sulla parte frontale della scheda.
Per ogni unit di ingresso sono specificati i dati tecnici. Esaminiamo quelli pi significativi.
Numero di ingressi : il numero di ingressi collegabili a ciascuna unit. I moduli descritti a
pagina 7 sono a otto ingressi. Ci sono anche PLC con unit a 16 ingressi e altre unit, denominate ad
alta densit, che hanno 32 punti dingresso.
Notiamo che le unit illustrate sono caratterizzate da ingressi con separazione a optoisolatori.
Questo significa che esiste un disaccoppiamento elettrico tra i circuiti esterni e quelli interni, allo scopo
di proteggere i circuiti elettrici del PLC da eventuali malfunzionamenti distruttivi legati al processo come
sbalzi di tensione o sovraccarichi di corrente.
tensione dingresso : il valore nominale di tensione che pu essere applicato a ciascun
ingresso. Se il valore di tensione inferiore a una determinata soglia, quel segnale interpretato come 0
logico; se il valore di tensione superiore, il segnale considerato 1 logico. Per ciascuna unit sono
specificati gli intervalli di tensione in cui il segnale vale 1 oppure 0 logico.
tempo di ritardo : un segnale di ingresso viene acquisito correttamente se il suo livello logico si
mantiene per un tempo superiore al tempo di ritardo. importante valutare questo parametro quando
bisogna acquisire segnali che potrebbero variare velocemente, per non rischiare di perdere delle
informazioni. Esistono comunque allo scopo unit speciali di conteggio veloce.

File: PLC.DOC Pagina 8


Prof. Bani S.

Unit di OUTPUT
Una unit di uscita digitale converte i segnali, interni al PLC e prodotti dallelaborazione logica, al
livello dei segnali esterni del processo comandato. Anche le unit di uscita visualizzano lo stato dei
segnali con LED verdi o rossi, situati sulla parte frontale della scheda.
Il data sheet di pagina 7 e 8 descrive le caratteristiche di alcune unit di uscita digitale;
commentiamo i dati tecnici pi significativi.
Numero delle uscite: il numero di punti di uscita disponibili sulla scheda, ai quali sono collegati
gli organi attuatori. Sono disponibili per quasi tutti i modelli unit a 4, 8, 16, 32 punti di uscita.
Tensione di alimentazione: il valore nominale di tensione fornito dal singolo punto di uscita.
Corrente di uscita: il valore nominale di corrente che un singolo punto di uscita pu fornire.
Esistono schede da 0.1A, 0.5A, 1A, 2A. importante, nella scelta degli utilizzatori, che tale limite di
corrente non venga superato. A questo scopo, tra i dati tecnici, sono dichiarate anche le potenze
ammissibili con carichi resistivi e carichi induttivi.
Frequenza di commutazione: stabilisce la massima velocit di commutazione con cui possibile
comandare un attuatore.

I PLC, dovendo coprire una vastissima gamma di campi applicativi, da semplici sistemi logici per
piccole macchine operatrici a comple ssi sistemi sequenziali per lautomazione di grandi impianti, sono
stati diversificati secondo la capacit, intesa come il massimo numero di punti di ingresso e uscita
collegabili a ununica apparecchiatura. In base a questo parametro i PLC sono normalmente suddivisi in
tre fasce:
- piccoli: da 0 a 128 I/O;
- medi da 129 a 512 I/O;
- grandi da 513 a 1024 I/O e oltre.
Bisogna stare attenti per a non considerare il numero di I/O come lunico fattore di importanza
per un PLC: ci sono infatti anche altri parametri come la capacit di calcolo, la facilit di
programmazione, la quantit di memoria, ecc.

Caratteristiche meccaniche
Dal punto di vista costruttivo il PLC si presenta come un rack robusto e protetto. Lo chassis pu
alloggiare un numero di schede (moduli) variabile da modello a modello.

Figura 5a
Ogni scheda oc-
cupa
normalmente
uno slot.
possi-bile
scegliere tra
vari tipi di
schede, in
modo da rea-
lizzare la confi-
gurazione pi
op-portuna per
ogni
applicazione.

File: PLC.DOC Pagina 9


Prof. Bani S.

Ogni scheda occupa normalmente uno slot e il tipo di scheda determina la configurazione
hardware del PLC. Le figure 5a e 5b dimostrano la flessibilit di configurazione hardware dei PLC,
rispettivamente della serie S5 e S7-200 della Siemens.

Figura 5b possibilit di montaggio dei PLC S7-200

Il rack contiene di solito una scheda per lalimentazione, una scheda CPU e pi schede di I/O. Il
numero di schede di I/O espandibile fino a completare il numero di slots disponibili nel rack e in alcuni
modelli si possono aggiungere ulteriori racks.
Il numero di racks collegabili allunit centrale del PLC limitato e varia da modello a modello. I
collegamenti tra pi racks dello stesso sistema sono effettuati mediante appositi cavi, mentre allinterno
di ciascun rack il colle gamento tra le varie schede di I/O e la scheda CPU avviene tramite un BUS
posto sulla parte posteriore del rack.
I racks devono essere installati in armadi con fessure di aerazione grado di protezione IP2 in locali
puliti e asciutti) o in cabine asciutte (armadi tipo IP54), oppure su telaio in ambienti operativi puliti e
asciutti.

Software dei controllori logici programmabili

Introduzione
il programma secondo il quale il PLC funziona contenuto nella memoria utente, le istruzioni sono
registrate una dopo laltra.
Il funzionamento del PLC ciclico, cio la CPU per elaborare il programma legge ed esegue in
sequenza le istruzioni, partendo dalla prima. Dopo lelaborazione dellultima istruzione lesecuzione
ricomincia da capo.
Allinizio di ogni ciclo di scansione la CPU interroga i segnali dingresso e li registra nella memoria
immagine dello stato degli ingressi, in modo da creare una fotografia della situazione del processo.
Durante lelaborazione del programma tutte le interrogazioni sul valore degli ingressi fanno riferimento
a questa memoria immagine. In questo modo lo stato dei segnali di ingresso si conserva inalterato per
un intero ciclo di elaborazione, cosicch i cambiamenti di segnale che si verificano durante il ciclo non
possono creare disturbi.
I risultati prodotti dallelaborazione durante il ciclo sono registrati temporaneamente nella memoria
immagine dello stato delle uscite. Solo al completamento del ciclo di programma il contenuto della
memoria immagine trasferito alle corrispondenti unit di uscita; in seguito viene attivato un nuovo
ciclo di elaborazione.

File: PLC.DOC Pagina 10


Prof. Bani S.

Il tempo necessario per scandire tutte le istruzioni del programma viene chiamato tempo di ciclo.
un parametro importante per individuare la potenza di un PLC ed in stretta dipendenza dalla velocit
di lavoro della CPU e dal tipo di istruzioni. Per poter paragonare i tempi di ciclo di modelli diversi di
PLC, ci si riferisce a una lunghezza standard di programma di 1024 (cio 210 ) locazioni di memoria.
Lordine di grandezza dei tempi di ciclo per 210 istruzioni va da qualche millisecondo alle decine di
millisecondi. Si comprende che se il tempo di ciclo molto breve possibile cogliere in tempo reale
tutte le variazioni dei segnali del processo senza perdere informazioni.
La figura 6 illustra il principio di funzionamento suddiviso nelle fasi principali.

SISTEMA SISTEMA SISTEMA SISTEMA


OPERATIVO OPERATIVO OPERATIVO OPERATIVO
IMMAGINE IMMAGINE IMMAGINE
IMMAGINE STATO INGRESSI STATO INGRESSI STATO INGRESSI
STATO INGRESSI IMMAGINE IMMAGINE IMMAGINE
IMMAGINE STATO USCITE STATO USCITE STATO USCITE
STATO USCITE FUNZIONI FUNZIONI FUNZIONI
INTERNE INTERNE INTERNE
MEMORIA
UTENTE MEMORIA ISTRUZIONE 1 MEMORIA MEMORIA
UTENTE ISTRUZIONE 2 UTENTE UTENTE
ISTRUZIONE 3
......
......
UNIT ISTRUZIONE N
CENTRALE
(CPU) ULTIMA ISTRUZ.
UNITA' UNITA' UNITA'
CENTRALE CENTRALE CENTRALE
(CPU) (CPU) (CPU)

INGRESSI
INGRESSI INGRESSI INGRESSI

USCITE
USCITE USCITE USCITE

Figura 6a Figura 6b Figura 6c Figura 6d

Figura 6a - Prima di In questo modo lo gramma legge ed Figura 6d - Solo al


iniziare la scansione stato dei segnali esegue in sequenza completamento del
del programma ap- dingresso si conser- le istruzioni, parten- ciclo di programma il
plicativo, la CPU va inalterato per un do dalla prima fino contenuto della
interroga i segnali intero ciclo di elabo- allultima istruzione memoria immagine
dingresso e li regi- razione, cosicch i del programma. trasferito alle cor-
stra nella memoria cambiamenti di se- rispondenti unit; in
immagine dello stato gnale che si verifi- Figura 6c - I risultati seguito viene attivato
degli ingressi. cano durante il ciclo prodotti dallelabo- un nuovo ciclo di
Durante lelabora- non possono creare razione durante il elaborazione. Il tem-
zione del programma disturbi. ciclo sono registrati po necessario per
tutte le interroga- temporaneamente scandire tutte le
zioni sul valore degli Figura 6b - Il funzio- nella memoria imma- istruzioni del pro-
ingressi fanno rife- namento del PLC gine dello stato delle gramma viene chia -
rimento a questa ciclico, cio la CPU uscite. mato tempo di ciclo.
memoria immagine. per elaborare il pro-

File: PLC.DOC Pagina 11


Prof. Bani S.

Software dei PLC - linguaggi


Il software lelemento determinante per dare allhardware del PLC quella flessibilit che i
sistemi di controllo a logica cablata non possiedono. Infatti sufficiente cambiare solamente il
programma affinch una certa configurazione hardware del PLC sia adatta a svolgere un compito di
controllo diverso.
Il software che le aziende producono per i loro PLC si avvale quasi esclusivamente di linguaggi di
programmazione specifici per le applicazioni di automazione, caratterizzando definitivamente il PLC
come un calcolatore per il controllo industriale. Il motivo per cui sono stati creati tali linguaggi sta nel
fatto che linguaggi ad alto livello tipo Fortran, Basic, Pascal, pur facilitando la stesura dei programmi,
non sono adatti alle applicazioni di controllo, in quanto non esiste un rapporto immediato fra le istruzioni
e lazione nel processo.
I linguaggi di programmazione dei PLC sono orientati ai problemi di automazione (sono linguaggi di
tipo POL, cio Problem Oriented Languages) e utilizzano soprattutto istruzioni di logica combinatoria
(AND, OR, NOT); di caricamento e trasferimento di segnali di processo, che operano sullo stato dei
singoli segnali (elaborazione di bit); e funzioni standard di conteggio, temporizzazione e memorizzazione.
Nei modelli di classe medio-grande sono disponibili istruzioni che manipolano i dati organizzati in byte e
in word (elaborazione a byte e a word); tipicamente si tratta di istruzioni di caricamento e di confronto.
Quasi tutti i costruttori hanno diversificato i linguaggi per PLC proponendo tre rappresentazioni
diverse, ciascuna applicabile in funzione delle specificit del problema e della particolare esperienza
professionale dellutente. Le tendenze di mercato sono, in ogni caso, prevalentemente due.
- Linguaggio KOP, noto anche come schema a contatti o rete ladder, che ha una certa
somiglianza con gli schemi elettrici a rel. E il primogenito tra i linguaggi utilizzati dato che,
inizialmente, il PLC andava a sostituire i normali quadri a logic a cablata che utilizzavano rel.
- Linguaggio AWL o lista di istruzioni, che utilizza abbreviazioni mnemoniche delle descrizioni delle
funzioni. Il programma assomiglia ad un listato Assembly.
- Il terzo tipo di linguaggio utilizza una rappresentazione delle istruzioni nella quale i compiti
dellautomazione sono espressi in forma grafica a blocchi con i simboli conformi alle norme DIN 40700
e DIN 40719. Questi linguaggi sono chiamati blocchi funzionali o FUP.

File: PLC.DOC Pagina 12


Introduzione al Micro PLC S7-200 1
La serie S7-200 una linea di controllori programmabili di dimensioni ridotte (Micro PLC), in
grado di controllare una variet di compiti di automazione. La figura 1-1 rappresenta un
Micro PLC S7-200. La compattezza del design, lampliabilit, i bassi costi ed il vasto set di
operazioni fanno dei controllori S7-200 una soluzione ottimale per la gestione di piccoli
compiti di automazione. Inoltre, lampia gamma di modelli di CPU con diverse tensioni di
alimentazione permette di disporre della flessibilit necessaria per affrontare e risolvere i
problemi di automazione.

Figura 1-1 Micro PLC S7-200

Sommario del capitolo


Capitolo Argomento trattato Pagina
1.1 Funzioni dei Micro PLC S7-200 1-2
1.2 Componenti principali dei Micro PLC S7-200 1-5

Pagina 13
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 1-1
Introduzione al Micro PLC S7-200

1.1 Funzioni dei Micro PLC S7-200

Requisiti hardware
La figura 1-2 illustra il sistema di base del Micro PLC S7-200, costituito da una CPU S7-200,
da un personal computer, dal software di programmazione STEP 7-Micro/WIN 32,
versione 3.0, e da un cavo di comunicazione.
Per poter usare un personal computer (PC) si deve disporre di uno dei seguenti set:
cavo PC/PPI
unit per processore di comunicazione (CP) e cavo per interfaccia multipoint (MPI)
scheda per interfaccia multipoint (MPI). La scheda MPI viene fornita con un cavo MPI.

Computer
CPU S7-200

STEP 7-Micro/WIN 32

Cavo PC/PPI

Figura 1-2 Componenti di un sistema Micro PLC S7-200

Prestazioni delle CPU S7-200


La serie S7-200 comprende unampia gamma di CPU e consente di scegliere tra un gran
numero di funzioni che consentono di individuare e risolvere i compiti di automazione
ottimizzando i costi. La tabella 1-1 riporta le caratteristiche principali delle CPU S7-200.

Pagina 14
Sistema di automazione S7-200, Manuale di sistema
1-2 C79000-G7072-C233-01
Introduzione al Micro PLC S7-200

Tabella 1-1 Elenco delle CPU S7-200

Funzioni CPU 221 CPU 222 CPU 224


Dimensioni fisiche dellunit 90 mm x 80 mm x 90 mm x 80 mm x 120,5 mm x 80 mm x

62 mm 62 mm 62 mm


Memoria


Programma 2048 parole 2048 parole 4096 parole


Dati utente 1024 parole 1024 parole 2560 parole


Tipo di memoria EEPROM EEPROM EEPROM


Moduli di memoria EEPROM EEPROM EEPROM

Backup dei dati (condensatore ad Di reg. 50 ore Di reg. 50 ore Di reg. 190 ore


elevata capacit)



Ingressi/uscite integrati


Ingressi/uscite integrati 6 ingressi / 4 uscite 8 ingressi / 6 uscite 14 ingressi / 10 uscite
Numero unit di ampliamento nessuna 2 unit 7 unit
I/O totali
Dimensione dellimmagine degli I/O 256 (128 ingressi e 256 (128 ingressi e 256 (128 ingressi e
digitali 128 uscite) 128 uscite) 128 uscite)
Dimensioni fisiche degli I/O digitali 10 62 128
Dimensione dellimmagine degli I/O nessuno 16 ingressi / 16 uscite 16 ingressi / 16 uscite
analogici

Dimensioni fisiche dellimmagine nessuno 12 ingressi / 10 uscite 12 ingressi / 10 uscite


degli I/O analogici


Operazioni
Velocit di esecuzione booleana 0,37 s/operazione 0,37 s/operazione 0,37 s/operazione



Rel interni 256 256 256
Contatori / temporizzatori 256/256 256/256 256/256


Rel di controllo sequenziale 256 256 256

Loop For / Next



S S S


Operazioni matematiche con i S S S
numeri interi (+ - * /)


Operazioni matematiche con i


numeri reali (+ - * /)
S S S

Pagina 15
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 1-3
Introduzione al Micro PLC S7-200

Tabella 1-1 Elenco delle CPU S7-200


Funzioni avanzate


Contatore veloce integrato 4 (20 KHz) 4 (20 KHz) 6 (20 KHz)


Potenziometri analogici 1 1 2

Uscite impulsi
2 (20 KHz, solo DC) 2 (20 KHz, solo DC) 2 (20 KHz, solo DC)


Interrupt di comunicazione


1 trasmissione/
2 ricezione
1 trasmissione/
2 ricezione
1 trasmissione/
2 ricezione


Interrupt a tempo 2 (da 1 ms a 255 ms) 2 (da 1 ms a 255 ms) 2 (da 1 ms a 255 ms)


Interrupt di ingresso hardware 4 4 4


Orologio hardware S (modulo) S (modulo) S (integrato)

Protezione mediante password S S S


Comunicazione


Numero di porte di comunicazione: 1 (RS-485) 1 (RS-485) 1 (RS-485)


Protocolli supportati Porta 0: PPI, slave MPI, PPI, slave MPI, PPI, slave MPI,
Freeport Freeport Freeport
PROFIBUS punto a punto (NETR/NETW) (NETR/NETW) (NETR/NETW)

Pagina 16
Sistema di automazione S7-200, Manuale di sistema
1-4 C79000-G7072-C233-01
Memoria della CPU: tipi di dati e modi di indirizzamento

5.1 Indirizzamento diretto della aree di memoria della CPU

La CPU S7-200 memorizza informazioni in diversi posizioni della memoria che hanno
indirizzi unici. possibile identificare esplicitamente lindirizzo di memoria a cui si vuole
accedere, consentendo cos al programma di accedere direttamente alle informazioni.

Utilizzo dellindirizzo di memoria per laccesso ai dati


Per accedere al bit di in unarea di memoria occorre specificarne lindirizzo, che comprende
lidentificazione dellarea di memoria, lindirizzo del byte e il numero del bit. La figura 5-1
riporta un esempio di accesso ad un bit (definito anche indirizzamento byte.bit) in cui larea
di memoria e lindirizzo del byte (I = ingresso, 3 = byte 3) sono seguiti da un punto decimale
(.) che separa lindirizzo del bit (bit 4).

I 3 . 4 MSB LSB
7 6 5 4 3 2 1 0
Bit di byte, o numero di bit: bit 4 di 8 (da 0 a 7) I 0
I 1
Punto decimale, separa lindirizzo byte
dal numero di bit I 2
I 3
Indirizzo byte: byte 3 (quarto byte) I 4
Identificazione di area (I = ingresso) I 5
I 6
MSB = bit pi significativo I 7
LSB = bit meno significativo
I 8
I 9
I 10
I 11
I 12
I 13
I 14
I 15

Figura 5-1 Accesso a un bit di dati nella memoria della CPU (indirizzamento byte.bit)

Pagina 17
Sistema di automazione S7-200, Manuale di sistema
5-2 C79000-G7072-C233-01
Memoria della CPU: tipi di dati e modi di indirizzamento

Il formato di indirizzamento a byte consente di accedere ai dati in molte aree di memoria


della CPU (V, I, Q, M, S, SM) in formato byte, parola o doppia parola. Per accedere a byte,
parole o doppie parole di dati nella memoria della CPU occorre specificare lindirizzo in modo
analogo alla specificazione di indirizzo di un bit. Tale indirizzo include una identificazione
dellarea, la dimensione dei dati e lindirizzo del byte iniziale di byte, parole o doppie parole,
come illustrato alla figura 5-2. Per accedere ai dati in altre aree di memoria della CPU (quali
T, C, HC e gli accumulatori) si utilizza un formato di indirizzo che include lidentificazione
dellarea e il numero del dispositivo.

V B 100
MSB LSB
7 0
Indirizzo del byte
VB100 VB100 Accesso a un valore in formato byte
Identificazione di area (memoria V)*
Byte meno significativo V W 100
Byte pi significativo
Indirizzo del byte
MSB LSB
15 8 7 0 Accesso a un valore in formato parola
VW100 VB100 VB101 Identificazione di area (memoria V)*

Byte pi significativo Byte meno significativo


MSB LSB
31 24 23 16 15 8 7 0
VD100 VB100 VB101 VB102 VB103

V D 100
Indirizzo del byte
Accesso a un valore in formato doppia parola
MSB = bit pi significativo
LSB = bit meno significativo Identificazione di area (memoria V)*

Figura 5-2 Accesso allo stesso indirizzo in byte, parola e doppia parola

Pagina 18
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 5-3
Memoria della CPU: tipi di dati e modi di indirizzamento

Rappresentazione dei numeri


La tabella 5-1 riporta il campo dei valori interi che possono essere rappresentati dalle
diverse dimensioni di dati.
I numeri reali o in virgola mobile sono rappresentati come bit 32 in precisione singola nel
formato seguente: da +1,175495E-38 a +3,402823E+38 (positivo) e da -1,175495E-38 a
-3,402823E+38 (negativo). Laccesso ai valori in numeri reali avviene in formato di doppia
parola. Per ulteriori informazioni sui numeri reali o in virgola mobile, consultare la norma
ANSI/IEEE 754-1985.

Tabella 5-1 Dimensione dei dati e campi di numeri interi associati

Campo interi senza segno Campo interi con segno


Di
Dimensione
i d
deii d
dati
ti
Decimale Esadecimale Decimale Esadecimale
B (byte): da 0 a 255 da 0 a FF da -128 a 127 da 80 a 7F
valore a 8 bit
W (parola): da 0 a 65.535 da 0 a FFFF da -32.768 a da 8000 a 7FFF
valore a 16 bit 32.767
D (doppia parola, Dparola): da 0 a da 0 a da -2.147.483.648 da 8000 0000 a
valore a 32 bit 4.294.967.295 FFFF FFFF a 2.147.483.647 7FFF FFFF

Indirizzamento del registro delle immagini di processo degli ingressi (I)


Come gi descritto al paragrafo 4.6, la CPU campiona i punti di ingresso fisici allinizio di
ogni ciclo di scansione, e scrive questi valori nel registro delle immagini di processo degli
ingressi. Si potr accedere a tale registro in bit, byte, parola e doppia parola.
Formato:
Bit I[indirizzo byte].[indirizzo bit] I0.1
Byte, parola, doppia parola I[dimensione][indirizzo byte iniziale] IB4

Indirizzamento del registro delle immagini di processo delle uscite (Q)


Alla fine del ciclo di scansione la CPU copia nelle uscite fisiche i valori memorizzati
nellimmagine di processo delle uscite. Si potr accedere a tale registro in bit, byte, parola e
doppia parola.
Formato:
Bit Q[indirizzo byte].[indirizzo bit] Q1.1
Byte, parola, doppia parola Q[dimensione][indirizzo byte iniziale] QB5

Pagina 19
Sistema di automazione S7-200, Manuale di sistema
5-4 C79000-G7072-C233-01
Memoria della CPU: tipi di dati e modi di indirizzamento

Indirizzamento dellarea di memoria variabile (V)


La memoria V pu essere utilizzata per memorizzare i risultati intermedi di operazioni che
vengono eseguite dalla logica di controllo del programma utente. Si potr inoltre usare la
memoria V per memorizzare altri dati pertinenti al processo o al compito di interesse
dellutente. Si potr accedere allarea di memoria V in bit, byte, parola e doppia parola.
Formato:
Bit V[indirizzo byte].[indirizzo bit] V10.2
Byte, parola, doppia parola V[dimensione][indirizzo byte iniziale] VW100

Indirizzamento dellarea di merker (M)


Larea di merker (memoria M) pu essere utilizzato come rel di controllo per memorizzare
lo stato intermedio di una operazione o altre informazioni di controllo. Ai merker interni si pu
accedere non solo in bit, ma anche in byte, parola e doppia parola.
Formato:
Bit M[indirizzo byte].[indirizzo bit] M26.7
Byte, parola, doppia parola M[dimensione][indirizzo byte iniziale] MD20

Indirizzamento dellarea di memoria del rel di controllo sequenziale (S)


I bit di rel di controllo sequenziale (S) sono utilizzati per organizzare il funzionamento di un
impianto in sequenze o in segmenti di programma equivalenti. Gli SCR permettono la
segmentazione logica del programma di controllo. Si pu accedere ai bit S in formato bit,
byte, parola e doppia parola.
Formato:
Bit S[indirizzo byte].[indirizzo bit] S3.1
Byte, parola, doppia parola S[dimensione][indirizzo byte iniziale] SB4

Indirizzamento dei merker speciali (SM)


I bit SM forniscono una possibilit di comunicare informazioni tra la CPU e il programma
utente. Si potr utilizzare tali bit per selezionare e controllare alcune delle funzioni speciali
della CPUS7-200, come ad esempio le seguenti:
un bit che si attiva solo per il primo ciclo
bit che si attivano e disattivano a frequenze stabilite
bit che visualizzano lo stato delle funzioni matematiche o di altre operazioni
Per ulteriori informaizoni sui bit SM, consultare lappendice B. Nonostante i dati SM siano
su base bit, si potr accedere ad essi nei formati bit, byte, parola e doppia parola.
Formato:
Bit SM[indirizzo byte].[indirizzo bit] SM0.1
Byte, parola, doppia parola SM[dimensione][indirizzo byte iniziale] SMB86

Pagina 20
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 5-5
Memoria della CPU: tipi di dati e modi di indirizzamento

Indirizzamento dellarea di memoria dei temporizzatori (T)


Nella CPU S7-200 i contatori sono elementi che contano gli incrementi di tempo. I
temporizzatori S7-200 hanno risoluzioni (incrementi su base tempo) di 1 ms, 10 ms e
100 ms. Le seguenti due variabili sono associate al temporizzatore.
Valore corrente: numero intero con segno a 16 bit che memorizza lammontare di tempo
conteggiato dal temporizzatore.
Bit di temporizzazione: questo bit viene impostato o resettato in seguito al confronto tra il
valore corrente e il valore preimpostato. Il valore preimpostato viene immesso come
parte integrante delloperazione di temporizzazione.
Si pu accedere a entrambe queste variabili utilizzando lindirizzo del temporizzatore
(T + numero temporizzatore). Laccesso al bit di temporizzazione o al valore corrente
dipende dalloperazione utilizzata: quelle con operandi in bit accedono al bit di
temporizzazione; quelle con gli operandi in parola accedono al valore corrente. Come
specificato alla figura 5-3, loperazione Contatto normalmente aperto accede al bit di
temporizzazione, mentre loperazione Trasferisci parola (MOV_W) accede al valore corrente
del temporizzatore. Per ulteriori informazioni sulle operazioni S7-200, vedere il capitolo 9 per
le operazioni SIMATIC e il capitolo 10 per le operazioni IEC 1131-3.
Formato: T[Numero temporizzatore] T24

Valore corrente Bit temporizzazione (lettura/scrittura)


T3
T0 T0
Numero temporizzatore T1 T1
(indirizzo di valore di corrente) T2
T2
Identificazione di area (temporizzatore)* T3
T3

Valore corrente del temporizzatore Bit temporizzaz.


I2.1 MOV_W MSB
(lettura/scrittura) LSB
15 0
EN
T0 T0
T3 IN OUT VW200 T1 T1
T2 T2
Numero temporizzatore
(indirizzo di valore corrente) T3 T3
Identificazione di area (temporizzatore)*

Figura 5-3 Accesso ai dati di temporizzazione SIMATIC

Pagina 21
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 5-7
Memoria della CPU: tipi di dati e modi di indirizzamento

Indirizzamento dellarea di memoria di contatori (C)


Nella CPU S7-200 i contatori sono elementi che contano ogni transizione da negativa a
positiva allingresso o agli ingressi del contatore. La CPU fornisce tre tipi di contatori: il primo
conta solo in avanti, il secondo conta allindietro ed il terzo sia in avanti che indietro
(bidirezionale). Vi sono due valori associati al contatore.
Valore corrente: valore corrente, numero intero con segno a 16 bit che memorizza il
conteggio finora avuto.
Bit di conteggio: questo bit viene impostato o resettato in seguito al confronto tra il valore
corrente e il valore preimpostato. Il valore preimpostato viene immesso come parte
integrante delloperazione di conteggio.
Si pu accedere a entrambe le variabili utilizzando lindirizzo del contatore (C + numero
contatore). Laccesso al bit di conteggio o al valore corrente dipende dalloperazione usata:
quelle con operandi a bit accedono al bit di conteggio; quelle con gli operandi a parola
accedono al valore corrente. Come specificato alla figura 5-4 loperazione Contatto
normalmente aperto accede al bit di conteggio, mentre loperazione Trasferisci parola
(MOV_W) accede al valore corrente del contatore. Per ulteriori informazioni sulle operazioni
S7-200, vedere il capitolo 9 per le operazioni SIMATIC e il capitolo 10 per le operazioni
IEC 1131-3.
Formato: C[Numero contatore] C20

C3 Bit conteggio
Valore corrente (lettura/scrittura)
Numero contatore
(indirizzo di valore corrente) C0 C0
C1 C1
Identificazione di area (contatore)
C2 C2
C3 C3

I2.1 MOV_W MSB Valore corrente LSB Bit di conteggio


EN ENO 15 (lettura/scrittura) 0

C0 C0
C3 IN OUT VW200 C1 C1
C2 C2
Numero contatore
C3 C3
(indirizzo di valore corrente)
Identificazione di area (contatore)

Figura 5-4 Accesso ai dati di conteggio SIMATIC

Pagina 22
Sistema di automazione S7-200, Manuale di sistema
5-8 C79000-G7072-C233-01
Convenzioni per la rappresentazione delle operazioni S7-200

8.2 Campi validi per le CPU S7-200

Tabella 8-2 Campi di memoria e caratteristiche delle CPU S7-200

Argomento trattato CPU 221 CPU 222 CPU 224

Dimensioni del programma utente 2 K parole 2 K parole 4 K parole

Dimensioni dei dati utente 1 K parole 1 K parole 2,5 K parole

Registro delle immagini di processo degli da I0.0 a I15.7 da I0.0 a I15.7 da I0.0 a I15.7
ingressi

Registro delle immagini di processo delle

uscite
da Q0.0 a Q15.7 da Q0.0 a Q15.7 da Q0.0 a Q15.7

Ingressi analogici (di sola lettura) -- da AIW0 a AIW30 da AIW0 a AIW30

Uscite analogiche (di sola scrittura) -- da AQW0 a AQW30 da AQW0 a AQW30

Memoria delle variabili (V)1 da VB0.0 a VB2047.7 da VB0.0 a VB2047.7 da VB0.0 a VB5119.7
Memoria locale (L)2

da LB0.0 a LB63.7 da LB0.0 a LB63.7 da LB0.0 a LB63.7

Memoria di merker (M) da M0.0 a M31.7 da M0.0 a M31.7 da M0.0 a M31.7

Merker speciali (SM) da SM0.0 a SM179.7 da SM0.0 a SM179.7 da SM0.0 a SM179.7


Sola lettura da SM0.0 a SM29.7 da SM0.0 a SM29.7 da SM0.0 a SM29.7

Temporizzatori

di ritardo allinserzione
256 (da T0 a T255) 256 (da T0 a T255) 256 (da T0 a T255)

con memoria 1 ms T0, T64 T0, T64 T0, T64

di ritardo allinserzione
con memoria 10 ms da T1 a T4, da T65 a T68 da T1 a T4, da T65 a T68 da T1 a T4, da T65 a T68

di ritardo allinserzione da T5 a T31, da T69 a da T5 a T31, da T69 a da T5 a T31, da T69 a

con memoria 100 ms T95 T95 T95


di ritardo allinserzione/

disinserzione

1 ms T32, T96 T32, T96 T32, T96

di ritardo allinserzione/ da T33 a T36, da T97 a da T33 a T36, da T97 a da T33 a T36, da T97 a
disinserzione 10 ms T100 T100 T100

di ritardo allinserzione/ da T37 a T63, da T101 a da T37 a T63, da T101 a da T37 a T63, da T101 a

disinserzione 100 ms T255 T255 T255

Contatori da C0 a C255 da C0 a C255 da C0 a C255

Contatore veloce HC0, HC3, HC4, HC5 HC0, HC3, HC4, HC5 da HC0 a HC5

Rel di controllo sequenziale (S) da S0.0 a S31.7 da S0.0 a S31.7 da S0.0 a S31.7

Registri degli accumulatori da AC0 a AC3 da AC0 a AC3 da AC0 a AC3

Salti/etichette da 0 a 255 da 0 a 255 da 0 a 255

Richiamo/sottoprogramma da 0 a 63 da 0 a 63 da 0 a 63



Routine di interrupt da 0 a 127 da 0 a 127 da 0 a 127

Loop PID da 0 a 7 da 0 a 7 da 0 a 7

Porta Porta 0 Porta 0 Porta 0


1Tutta la memoria V pu essere salvata nella memoria permanente.

2Da LB60 a LB63 sono riservati da STEP 7-Micro/WIN 32, versione 3.0 o successiva.

Pagina 23
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 8-7
Convenzioni per la rappresentazione delle operazioni S7-200

Tabella 8-3 Campi di operandi delle CPU S7-200

Metodo di accesso CPU 221 CPU 222 CPU 224


Accesso a bit (byte.bit) V da 0.0 a 2047.7 V da 0.0 a 2047.7 V da 0.0 a 5119.7
I da 0.0 a 15.7 I da 0.0 a 15.7 I da 0.0 a 15.7
Q da 0.0 a 15.7 Q da 0.0 a 15.7 Q da 0.0 a 15.7
M da 0.0 a 31.7 M da 0.0 a 31.7 M da 0.0 a 31.7
SM da 0.0 a 179.7 SM da 0.0 a 179.7 SM da 0.0 a 179.7
S da 0.0 a 31.7 S da 0.0 a 31.7 S da 0.0 a 31.7
T da 0 a 255 T da 0 a 255 T da 0 a 255
C da 0 a 255 C da 0 a 255 C da 0 a 255
L da 0.0 a 63.7 L da 0.0 a 63.7 L da 0.0 a 63.7
Accesso a byte VB da 0 a 2047 VB da 0 a 2047 VB da 0 a 5119
IB da 0 a 15 IB da 0 a 15 IB da 0 a 15
QB da 0 a 15 QB da 0 a 15 QB da 0 a 15
MB da 0 a 31 MB da 0 a 31 MB da 0 a 31
SMB da 0 a 179 SMB da 0 a 179 SMB da 0 a 179
SB da 0 a 31 SB da 0 a 31 SB da 0 a 31
LB da 0 a 63 LB da 0 a 63 LB da 0 a 63
AC da 0 a 3 AC da 0 a 3 AC da 0 a 3
Costante Costante Costante
Accesso a parola VW da 0 a 2046 VW da 0 a 2046 VW da 0 a 5118
IW da 0 a 14 IW da 0 a 14 IW da 0 a 14
QW da 0 a 14 QW da 0 a 14 QW da 0 a 14
MW da 0 a 30 MW da 0 a 30 MW da 0 a 30
SMW da 0 a 178 SMW da 0 a 178 SMW da 0 a 178
SW da 0 a 30 SW da 0 a 30 SW da 0 a 30
T da 0 a 255 T da 0 a 255 T da 0 a 255
C da 0 a 255 C da 0 a 255 C da 0 a 255
LW da 0 a 62 LW da 0 a 62 LW da 0 a 62
AC da 0 a 3 AC da 0 a 3 AC da 0 a 3
AIW da 0 a 30 AIW da 0 a 30 AIW da 0 a 30
AQW da 0 a 30 AQW da 0 a 30 AQW da 0 a 30
Costante Costante Costante
Accesso a doppia parola VD da 0 a 2044 VD da 0 a 2044 VD da 0 a 5116
ID da 0 a 12 ID da 0 a 12 ID da 0 a 12
QD da 0 a 12 QD da 0 a 12 QD da 0 a 12
MD da 0 a 28 MD da 0 a 28 MD da 0 a 28
SMD da 0 a 176 SMD da 0 a 176 SMD da 0 a 176
SD da 0 a 28 SD da 0 a 28 SD da 0 a 28
LD da 0 a 60 LD da 0 a 60 LD da 0 a 60
AC da 0 a 3 AC da 0 a 3 AC da 0 a 3
HC 0, 3, 4, 5 HC 0, 3, 4, 5 HC 0, 3 4, 5
Costante Costante Costante

Pagina 24
Sistema di automazione S7-200, Manuale di sistema
8-8 C79000-G7072-C233-01
Operazioni SIMATIC

9.1 Operazioni logiche booleane SIMATIC

Contatti standard
Queste operazioni ricavano il valore indirizzato dal registro delle
K bit
O
immagini di processo o di memoria quando il tipo di dati I o Q.
P possibile utilizzare al massimo sette ingressi rispettivamente
per i box AND e OR.
bit
/ Il Contatto normalmente aperto chiuso (on) quando il bit
vale 1.
Il Contatto normalmente aperto chiuso (on) quando il bit
F
U AND vale 0.
P
In KOP, le operazioni normalmente aperte e normalmente
chiuse sono rappresentate mediante contatti.
o
In FUP le operazioni a contatto normalmente aperto sono
rappresentate mediante box AND/OR. Esse possono essere
utilizzate per manipolare i segnali booleani come con i contatti
KOP. Anche le operazioni a contatto normalmente chiuso sono
A rappresentate mediante box. Per realizzarle, collocare il
LD bit
W
L A bit simbolo della negazione sulla linea del segnale di ingresso.
O bit
In AWL il contatto normalmente aperto rappresentato dalle
LDN bit
AN bit operazioni Carica il valore di bit, Combina il valore di bit
ON bit tramite And e Combina il valore di bit tramite OR. Tali
operazioni caricano il valore del bit dallindirizzo nel valore
3 3 3 superiore dello stack logico o combinano tramite AND o OR il
221 222 224 valore del bit dellindirizzo con il valore superiore dello stack
logico.
In AWL il contatto normalmente chiuso rappresentato dalle
operazioni Carica il valore di bit negato, Combina il valore
di bit negato tramite And e Combina il valore di bit negato
tramite OR. Tali operazioni caricano il valore di bit dallindirizzo
n nel valore superiore dello stack logico o combinano tramite
AND o OR il valore di bit dellindirizzo n con il valore superiore
dello stack logico.

Ingressi/Uscite Operandi Tipi di dati


Bit (KOP, AWL) I, Q, M, SM, T, C, V, S, L BOOL
Ingresso (FUP) I, Q, M, SM, T, C, V, S, L, flusso di corrente BOOL
Uscita (FUP) I, Q, M, SM, T, C, V, S, L, flusso di corrente BOOL

Pagina 25
Sistema di automazione S7-200, Manuale di sistema
9-2 C79000-G7072-C233-01
Operazioni SIMATIC

Contatto Not
Il contatto NOT modifica lo stato del flusso di corrente. Il flusso
K di corrente si arresta se raggiunge il contatto Not e fornisce
O
NOT energia se non lo raggiunge.
P

In KOP loperazione NOT viene rappresentata mediante un


F contatto.
K
U
O In FUP loperazione NOT utilizza il simbolo grafico di negazione
P
P
con ingressi di box booleani.
A In AWL loperazione NOT modifica il valore superiore dello
W NOT stack logico da 0 a 1 oppure da 1 a 0.
L

3 3 3 Operandi: nessuno
221 222 224
Tipi di dati: nessuno

Transizione positiva e negativa


Il contatto Transizione positiva attiva il flusso di corrente per
K
O
un ciclo di scansione ad ogni transizione da off a on.
P
P
Il contatto Transizione negativa attiva il flusso di corrente per
un ciclo di scansione ad ogni transizione da on a off.
N
In KOP le operazioni Transizione positiva e Transizione
negativa vengono rappresentate mediante contatti.
F In FUP queste operazioni sono rappresentate dai box P ed N.
U P
P IN OUT In AWL il contatto Transizione positiva rappresentato
dalloperazione Rilevamento di fronte di salita. Quando
N loperazione rileva una transizione del valore superiore dello
IN OUT stack logico da 0 a 1, imposta tale valore a 1; altrimenti lo
imposta a 0.
A In AWL il contatto Transizione negativa rappresentato
W EU
L
dalloperazione Rilevamento di fronte di discesa. Quando
ED loperazione rileva una transizione del valore superiore dello
stack logico da 1 a 0, imposta tale valore a 1; altrimenti lo
3 3 3 imposta a 0.
221 222 224

Ingressi/Uscite Operandi Tipi di dati


IN (FUP) I, Q, M, SM, T, C, V, S, L, flusso di corrente BOOL
OUT (FUP) I, Q, M, SM, T, C, V, S, L, flusso di corrente BOOL

Pagina 26
Sistema di automazione S7-200, Manuale di sistema
9-4 C79000-G7072-C233-01
Operazioni SIMATIC

Assegna
Loperazione Assegna attiva il bit di uscita del registro delle
K bit
O immagini di processo.
P
In KOP e in FUP questa operazione pone il bit specificato
uguale al flusso di corrente.
F bit
U = In AWL loperazione uscita copia il valore superiore dello stack
P
nel bit specificato.

A
W = bit
L

3 3 3
221 222 224

Ingressi/Uscite Operandi Tipi di dati


Bit I, Q, M, SM, T, C, V, S, L BOOL
Ingresso (KOP) Flusso di corrente BOOL
Ingresso (FUP) I, Q, M, SM, T, C, V, S, L, flusso di corrente BOOL

Assegna direttamente
Loperazione Assegna direttamente pone luscita fisica (bit o
K Bit
O OUT) uguale al flusso di corrente.
P I
La lettera I indica un riferimento diretto; ovvero loperazione
scrive il nuovo valore sia nelluscita fisica, che nel
F Bit corrispondente indirizzo del registro delle immagini di processo.
U
P
=I In caso di riferimento indiretto, loperazione scrive invece il
nuovo valore solamente nel registro delle immagini di processo.
A In AWL loperazione Uscita immediata copia direttamente il
W =I bit valore superiore dello stack nelluscita fisica (bit) specificata.
L

3 3 3
221 222 224

Ingressi/Uscite Operandi Tipi di dati


Bit Q BOOL
Ingresso (KOP) Flusso di corrente BOOL
Ingresso (FUP) I, Q, M, SM, T, C, V, S, L, flusso di corrente BOOL

Pagina 27
Sistema di automazione S7-200, Manuale di sistema
9-6 C79000-G7072-C233-01
Operazioni SIMATIC

Imposta, Resetta (N bit)


Le operazioni Imposta e Resetta rispettivamente impostano
K Bit
O
(attivano) e resettano (disattivano) un numero specificato di
S
P punti (N) a partire dal valore indicato dal bit o dal parametro
N
Bit OUT.
R
Il campo di punti impostabili o resettabili va da 1 a 255. Se il bit
N
specificato un bit T o C, loperazione Resetta resetta il bit del
temporizzatore o del contatore e ne cancella il valore corrente.
F Bit
U
S Condizioni derrore che impostano ENO = 0: SM4.3 (tempo di
P
EN esecuzione), 0006 (indirizzo indiretto), 0091 (operando non
N compreso nel campo).
Bit
R
EN
N

A
W S bit, N
L
R bit, N

3 3 3
221 222 224

Ingressi/Uscite Operandi Tipi di dati


Bit I, Q, M, SM, T, C, V, S, L BOOL
N VB, IB, QB, MB, SMB,SB, LB, AC, costante, *VD, *AC, *LD BYTE

Pagina 28
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 9-7
Operazioni SIMATIC

9.2 Operazioni a contatti di confronto SIMATIC

Confronto di byte
Loperazione Confronto di byte consente di confrontare i valori
K IN1
O IN1 e IN2. Si possono effettuare i seguenti tipi di confronto:
P ==B IN1 = IN2, IN1 >= IN2, IN1 <= IN2, IN1 > IN2, IN1 < IN2 o
IN2
IN1 <> IN2.
F I confronti di byte sono senza segno.
U
P In KOP il contatto attivo quando il confronto vero.
==B
In FUP luscita attiva quando il confronto vero.
In AWL, se il confronto vero, queste operazioni caricano il
valore 1 nel valore superiore dello stack logico oppure
combinano tramite AND e OR il valore 1 con il valore superiore
A
LDB = IN1, IN2 dello stack.
W
L AB= IN1, IN2
OB= IN1, IN2
LDB<> IN1, IN2
AB<> IN1, IN2
OB<> IN1, IN2
LDB< IN1, IN2
AB< IN1, IN2
OB< IN1, IN2
LDB <= IN1, IN2
AB<= IN1, IN2
OB<= IN1, IN2
LDB> IN1, IN2
AB> IN1, IN2
OB> IN1, IN2
LDB >= IN1, IN2
AB>= IN1, IN2
OB>= IN1, IN2

3 3 3
221 222 224

Ingressi/Uscite Operandi Tipi di dati


Ingressi IB, QB, MB, SMB, VB, SB, LB, AC, costante, *VD, *AC,*LD BYTE
Uscite (FUP) I, Q, M, SM, T, C, V, S, L, flusso di corrente BOOL

Pagina 29
Sistema di automazione S7-200, Manuale di sistema
9-10 C79000-G7072-C233-01
Operazioni SIMATIC

9.3 Operazioni di temporizzazione SIMATIC

Avvia temporizzazione come ritardo allinserzione, Avvia temporizzazione come


ritardo allinserzione con memoria, Avvia temporizzazione come ritardo alla
disinserzione
Le operazioni Avvia temporizzazione come ritardo
K
O Txxx allinserzione e Avvia temporizzazione come ritardo
P TON allinserzione con memoria conteggiano il tempo quando
IN
F lingresso di abilitazione attivo (ON). Il bit di temporizzazione
U PT viene attivato quando il valore corrente (Txxx) diventa maggiore
P
o uguale al tempo preimpostato (PT).
Txxx
TONR Quando lingresso di abilitazione disattivato (OFF), il valore
IN
corrente del temporizzatore di ritardo allinserzione viene
PT resettato, mentre quello del temporizzatore di ritardo
allinserzione con memoria viene mantenuto. Questultimo
Txxx
consente di accumulare il tempo per pi periodi di attivazione
TOF
IN dellingresso. Il valore corrente del temporizzatore pu essere
PT
resettato con loperazione Resetta (R).
Sia il temporizzatore di ritardo allinserzione, che il
temporizzatore di ritardo allinserzione con memoria continuano
A
W TON Txxx, PT a contare una volta raggiunto il valore preimpostato e si
L arrestano al raggiungimento del valore massimo 32767.
TONR Txxx, PT
Loperazione Avvia temporizzazione come ritardo alla
TOF Txxx, PT
disinserzione consente di ritardare la disattivazione di
unuscita per un dato periodo di tempo dopo che lingresso
3 3 3 stato disattivato. Quando lingresso di abilitazione si attiva, il bit
221 222 224
di temporizzazione viene immediatamente attivato e il valore
corrente viene impostato a 0. Alla disattivazione dellingresso, il
temporizzatore conta finch il tempo trascorso diventa pari a
quello preimpostato. Una volta raggiunto il tempo preimpostato,
il bit di temporizzazione si disattiva e il valore corrente smette di
avanzare. Se lingresso resta disattivato per un tempo inferiore
a quello preimpostato, il bit di temporizzazione resta attivo. Per
iniziare il conteggio, loperazione TOF deve rilevare una
transizione da attivo a disattivato (ON - OFF).
Se il temporizzatore TOF si trova in unarea non attiva di SCR,
il valore corrente viene impostato a 0, il bit di temporizzazione
viene disattivato e il valore corrente non avanza.

Ingressi/Uscite Operandi Tipi di dati


IN (KOP) Flusso di corrente BOOL
IN (FUP) I, Q, M, SM, T, C, V, S, L, flusso di corrente BOOL
PT VW, IW, QW, MW, SW, SMW, LW, AIW, T, C, AC, costante, INT
*VD, *AC, *LD

Pagina 30
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 9-15
Operazioni SIMATIC

I temporizzatori TON, TONR e TOF sono disponibili in tre risoluzioni indicate dal numero del
temporizzatore, come indicato nella tabella 9-1. Ogni conteggio del valore corrente un
multiplo della base di tempo. Ad esempio, un conteggio di 50 in un temporizzatore da 10 ms
corrisponde a 500 ms.

Tabella 9-1 Numero e risoluzione dei temporizzatori

Tipo di Risoluzione in Valore massimo


Numero del temporizzatore
temporizzatore millisecondi (ms) in secondi (s)
TONR 1 ms 32,767 s T0, T64
10 ms 327,67 s da T1 a T4, da T65 a T68
100 ms 3276,7 s da T5 a T31, da T69 a T95
TON, TOF 1 ms 32,767 s T32, T96
10 ms 327,67 s da T33 a T36, da T97 a T100
100 ms 3276,7 s da T37 a T63, da T101 a
T255

Avvertenza
Non possibile utilizzare gli stessi numeri per i TOF e i TON. Ad esempio, non si possono
impostare contemporaneamente i temporizzatori TON T32 e TOF T32.

Pagina 31
Sistema di automazione S7-200, Manuale di sistema
9-16 C79000-G7072-C233-01
Operazioni SIMATIC

Aggiornamento del valore corrente del temporizzatore


Il tipo di aggiornamento dei valori di tempo attuali determina conseguenze diverse in
funzione della modalit di utilizzo dei temporizzatori. Si considerino, ad esempio, i casi
riportati nella figura 9-4.
Se si utilizza un temporizzatore da 1 ms, Q0.0 viene attivata per un ciclo ad ogni
aggiornamento del valore corrente del temporizzatore, dopo lesecuzione del contatto
normalmente chiuso T32 e prima dellesecuzione del contatto normalmente aperto T32.
Se si utilizza un temporizzatore da 10 ms, Q0.0 non viene mai attivata, perch il bit di
temporizzazione T33 resta attivo dallinizio del ciclo di scansione fino a quando viene
eseguito il box di temporizzazione. Una volta eseguito il box, il valore corrente del
temporizzatore e il relativo bit T vengono impostati a zero. Quando viene eseguito il
contatto normalmente aperto T33, T33 disattivato e Q0.0 viene disattivata.
Se si utilizza un temporizzatore da 100 ms, Q0.0 viene sempre attivata per un ciclo di
scansione ogni volta che il valore corrente del temporizzatore raggiunge il valore
preimpostato.
Se, come ingresso di abilitazione al box di temporizzazione, si utilizza il contatto normalmete
chiuso Q0.0 invece del bit di temporizzazione, ci si assicura che luscita Q0.0 resti attiva per
un ciclo ogni volta che il temporizzatore raggiunge il valore preimpostato.

Errato Utilizzo di un temporizzatore da 1 ms Corretto


T32 T32 Q0.0 T32
/ INTON / IN TON

300 PT 300 PT
T32 Q0.0 T32 Q0.0

Errato Utilizzo di un temporizzatore da 10 ms Corretto


T33 T33 Q0.0 T33
/ IN TON / IN TON

30 PT 30 PT
T33 Q0.0 T33 Q0.0

Corretto Utilizzo di un temporizzatore da 100 ms Soluzione migliore

T37 T37 Q0.0 T37


/ INTON / IN TON

3 PT 3 PT
T37 Q0.0 T37 Q0.0

Figura 9-4 Esempio di riavvio automatico di un temporizzatore

Pagina 32
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 9-19
Operazioni SIMATIC

Esempio di temporizzatore di ritardo allinserzione

KOP FUP

I2.0 T33 T33


IN TON TON
I2.0 IN

3 PT 3 PT

AWL

LD I2.0
TON T33, 3

Diagramma di temporizzazione

I2.0
Valore massimo = 32767

PT = 3 PT = 3
T33 (corrente)

T33 (bit)

Figura 9-5 Esempio di temporizzatore di ritardo allinserzione in KOP, FUP e AWL

Pagina 33
Sistema di automazione S7-200, Manuale di sistema
9-20 C79000-G7072-C233-01
Operazioni SIMATIC

Esempio di temporizzatore di ritardo allinserzione con memoria

KOP FUP

I2.1 T2 T2
IN TON TONR
R I2.1 IN

10 PT 10 PT

AWL

LD I2.1
TONR T2, 10

Diagramma di temporizzazione
I2.1

Valore
massimo = 32767

PT = 10

T2 (corrente)

T2 (bit)

Figura 9-6 Esempio di temporizzatore di ritardo allinserzione con memoria in KOP, FUP e AWL

Pagina 34
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 9-21
Operazioni SIMATIC

Esempio di temporizzatore di ritardo alla disinserzione

KOP FUP

I0.0 T33 T33


IN TOF TOF
I0.0 IN

3 PT 3 PT

AWL

LD I0.0
TOF T33, 3

Diagramma di temporizzazione

I0.0

PT = 3 PT = 3

T33 (corrente)

T33 (bit)

Figura 9-7 Esempio di temporizzatore di ritardo alla disinserzione Instruction in KOP, FUP e AWL

Pagina 35
Sistema di automazione S7-200, Manuale di sistema
9-22 C79000-G7072-C233-01
Operazioni SIMATIC

9.4 Operazioni di conteggio SIMATIC

Conta in avanti, Conta in avanti/indietro, Conta indietro


Loperazione Conta in avanti conta in avanti fino al valore
K Cxxx
O massimo sui fronti di salita dellingresso di conteggio in avanti
P CU CTU
(CU). Quando il valore corrente (Cxxx) >= al valore
F R preimpostato (PV), il bit di conteggio (Cxxx) viene attivato. Il
U
P
contatore viene resettato quando si attiva lingresso di reset
PV (R).

Cxxx Loperazione Conta in avanti/indietro conta in avanti sui fronti


CU CTUD di salita dellingresso di conteggio in avanti (CU); conta
allindietro sui fronti di salita dellingresso di conteggio
CD allindietro (CD). Quando il valore corrente (Cxxx) >= al valore
R
preimpostato (PV), il bit di conteggio (Cxxx) viene attivato. Il
contatore viene resettato quando si attiva lingresso di reset
PV (R).

Cxxx Il contatore Conta indietro conta allindietro da un valore


CD CTD predefinito sui fronti di salita dellingresso di conteggio
allindietro (CD). Quando il valore corrente diventa uguale a
LD
zero, il bit di conteggio (Cxxx) viene attivato. Il contatore resetta
PV il bit di conteggio (Cxxx) e carica il valore corrente con il valore
preimpostato (PV) quando lingresso di caricamento (LD)
diventa attivo. Il contatore indietro smette di contare quando
A
CTU Cxxx, PV raggiunge lo zero.
W
L Aree dei contatori: Cxxx=da C0 a C255
CTUD Cxxx, PV
CTD Cxxx, PV In AWL lingresso di reset CTU corrisponde al valore superiore
dello stack, mentre lingresso di conteggio in avanti il valore
3 3 3
221 222 224
caricato nella seconda posizione dello stack.
In AWL lingresso di reset CTUD corrisponde al valore
superiore dello stack, lingresso di conteggio allindietro il valore
caricato nella seconda posizione dello stack e lingresso di
conteggio in avanti il valore caricato nella terza posizione
dello stack.
In AWL lingresso di caricamento CTD la sommit dello stack
e lingresso di conteggio allindietro il valore caricato nella
seconda posizione dello stack.

Ingressi/Uscite Operandi Tipi di dati


CU, CD (FUP) I, Q, M, SM, T, C, V, S, L, flusso di corrente BOOL
R, LD (FUP) I, Q, M, SM, T, C, V, S, L, flusso di corrente BOOL
PV VW, IW, QW, MW, SMW, LW, AIW, AC, T, C, costante, *VD, INT
*AC, *LD, SW

Pagina 36
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 9-23
Operazioni SIMATIC

Descrizione delle operazioni di conteggio S7-200


Loperazione Conta in avanti (CTU) conta in avanti a partire dal valore corrente del contatore
ogni volta che lingresso di conteggio in avanti passa da off a on. Il contatore viene resettato
quando si attiva lingresso di reset o quando viene eseguita loperazione Reset. Esso si
arresta al raggiungimento del valore massimo (32.767).
Loperazione Conta in avanti/indietro (CTUD) conta in avanti ogni volta che lingresso di
conteggio in avanti passa da off a on e conta allindietro ogni volta che lingresso di
conteggio allindietro passa da off a on. Il contatore viene resettato quando si attiva
lingresso di reset o quando viene eseguita loperazione Reset. Al raggiungimento del valore
massimo (32.767), il fronte di salita successivo dellingresso di conteggio in avanti far s
che il valore corrente si raccolga intorno al valore minimo (-32.768). Analogamente, al
raggiungimento del valore minimo (-32.768) il successivo fronte di salita dellingresso di
conteggio allindietro far s che il valore corrente si raccolga intorno al valore massimo
(32.767).
I contatori in avanti e in avanti/indietro hanno un valore corrente che mantiene il conteggio
corrente. Essi hanno anche un valore preimpostato (PV) che viene confrontato con il valore
corrente ogni volta che viene eseguita loperazione di conteggio. Se il valore corrente
superiore o uguale al valore preimpostato, il bit di conteggio si attiva (bit C). Altrimenti il bit C
si disattiva.
Loperazione Conta indietro conta allindietro a partire dal valore corrente del contatore ogni
volta che lingresso di conteggio in avanti passa da off a on. Il contatore resetta il bit di
conteggio e carica il valore corrente con il valore preimpostato quando lingresso di
caricamento diventa attivo. Il contatore si arresta quando raggiunge lo zero e il bit di
conteggio (bit C) diventa attivo.
Se lutente resetta un contatore con loperazione Resetta, sia il bit di conteggio sia il valore
corrente di conteggio saranno resettati. Si utilizzi il numero del contatore per far riferimento
sia al valore corrente che al bit C del contatore stesso.

Avvertenza
Vi solamente un valore corrente per ogni contatore; non si assegni perci lo stesso
numero a pi di un contatore (i contatori in avanti, in avanti/indietro e indietro accedono allo
stesso valore corrente).

Pagina 37
Sistema di automazione S7-200, Manuale di sistema
9-24 C79000-G7072-C233-01
Operazioni SIMATIC

Esempi di contatore

KOP FUP

C50 C50
I3.0
CD CTD I3.0 CD CTD

I1.0
LD
I1.0 LD

3 PV 3 PV

AWL

LD I3.0 //Ingresso di conteggio allindietro


LD I1.0 //Ingresso di caricamento
CTD C50, 3

Diagramma di temporizzazione

I3.0
Allindietro
I1.0
Caricamento
3 3
2 2
C50 1
(valore corrente) 0 0
C50
(bit)

Figura 9-8 Esempio di operazione di conteggio in KOP, FUP e AWL

Pagina 38
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 9-25
Operazioni SIMATIC

KOP FUP

C48 C48
I4.0
CU CTUD I4.0 CU CTUD

I3.0
CD
I3.0 CD
I2.0
R I2.0 R

4 PV 4 PV

AWL

LD I4.0 //Ingresso di conteggio in avanti


LD I3.0 //Ingresso di conteggio allindietro
LD I2.0 //Ingresso di reset
CTUD C48, 4

Diagramma di temporizzazione

I4.0
In avanti
I3.0
Allindietro
I2.0
Reset
5 5
4 4 4
3 3
2
C48 1
(valore corrente) 0 0
C48
(bit)

Figura 9-9 Esempio di operazione di conteggio CTUD in KOP, FUP e AWL

Pagina 39
Sistema di automazione S7-200, Manuale di sistema
9-26 C79000-G7072-C233-01
Operazioni SIMATIC

9.10 Operazioni di trasferimento SIMATIC

Trasferisci byte, Trasferisci parola, Trasferisci doppia parola, Trasferisci numero reale

Loperazione Trasferisci byte trasferisce il byte di ingresso (IN)


K
O MOV_B nel byte di uscita (OUT). Il byte di ingresso non viene
P EN ENO
modificato dalloperazione.
F IN OUT
U Loperazione Trasferisci parola trasferisce la parola di
P ingresso (IN) nella parola di uscita (OUT). La parola di ingresso
MOV_W
EN ENO non viene modificata dalloperazione.
IN OUT Loperazione Trasferisci doppia parola trasferisce la doppia
parola di ingresso (IN) nella doppia parola di uscita (OUT). La
MOV_DW doppia parola di ingresso non viene modificata dalloperazione.
EN ENO
Loperazione Trasferisci numero reale trasferisce la doppia
IN OUT parola di ingresso a 32 bit (IN) nella doppia parola di uscita a
32 bit (OUT). La doppia parola di ingresso non viene modificata
MOV_R
EN ENO dalloperazione.

IN OUT Condizioni derrore che impostano ENO = 0: SM4.3 (tempo di


esecuzione), 0006 (indirizzo indiretto)

A MOVB IN, OUT


W
L MOVW IN, OUT
MOVD IN, OUT
MOVR IN, OUT

3 3 3
221 222 224

Trasferisci... Ingressi/Uscite Operandi Tipi di dati


IN VB, IB, QB, MB, SB, SMB, LB, AC, costante, BYTE
*VD, *AC, *LD
Byte
OUT VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *AC, BYTE
*LD
IN VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, WORD, INT
costante, AC *VD, *AC, *LD
Parola
OUT VW, T, C, IW, QW, SW, MW, SMW, LW, AC, WORD, INT
AQW, *VD, *AC, *LD
IN VD, ID, QD, MD, SD, SMD, LD, HC, &VB, &IB, DWORD,
&QB, &MB, &SB, &T, &C, AC, costante, *VD, DINT
Doppia
Do ia parola
arola *AC, *LD
OUT VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *AC, DWORD,
*LD DINT
IN VD, ID, QD, MD, SD, SMD, LD, AC, costante, REAL
*VD, *AC, *LD
Numero reale
OUT VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *AC, REAL
*LD

Pagina 40
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 9-99
Operazioni SIMATIC

9.12 Operazioni logiche combinatorie SIMATIC

Combina byte tramite AND, OR e OR esclusivo


Loperazione Combina byte tramite AND combina i bit
K
O WAND_B corrispondenti dei due byte dingresso IN1 e IN2 e carica il
P EN ENO
risultato (OUT) in un byte.
F
U IN1 OUT Loperazione Combina byte tramite OR combina i bit
P
IN2
corrispondenti dei due byte dingresso IN1 e IN2 e carica il
risultato (OUT) in un byte.
WOR_B Loperazione Combina byte tramite OR esclusivo combina i
EN ENO
bit corrispondenti dei due byte dingresso IN1 e IN2 e carica il
IN1 OUT risultato (OUT) in un byte.
IN2 Condizioni derrore che impostano ENO = 0: SM4.3 (tempo di
esecuzione), 0006 (indirizzo indiretto).
WXOR_B
EN ENO Queste operazioni influenzano i seguenti bit di merker speciali:
SM1.0 (zero)
IN1 OUT

IN2

A
ANDB IN1, OUT
W
L ORB IN1, OUT
XORB IN1, OUT

3 3 3
221 222 224

Ingressi/Uscite Operandi Tipi di dati


IN1, IN2 VB, IB, QB, MB, SB, SMB, LB, AC, costante, *VD, *AC, *LD BYTE
OUT VB, IB, QB, MB, SB, SMB, LB, AC,*VD, *AC, *LD BYTE

Pagina 41
Sistema di automazione S7-200, Manuale di sistema
9-110 C79000-G7072-C233-01
Operazioni SIMATIC

Combina doppie parole tramite AND, OR e OR esclusivo


Loperazione Combina doppie parole tramite AND combina
K
O WAND_DW tramite And i bit corrispondenti delle doppie parole dingresso
EN ENO
P IN1 e IN2 e carica il risultato (OUT) in una doppia parola.
F
U IN1 OUT
P Loperazione Combina doppie parole tramite OR combina
IN2
tramite Or i bit corrispondenti delle doppie parole dingresso IN1
WOR_DW e IN2 e carica il risultato (OUT) in una doppia parola.
EN ENO
Loperazione Combina doppie parole tramite OR esclusivo
IN1 OUT combina tramite Or esclusivo i bit corrispondenti delle doppie
parole dingresso IN1 e IN2 e carica il risultato (OUT) in una
IN2
doppia parola.
WXOR_DW Condizioni derrore che impostano ENO = 0: SM4.3 (tempo di
EN ENO esecuzione), 0006 (indirizzo indiretto).
IN1 OUT Queste operazioni influenzano i seguenti bit di merker speciali:
IN2
SM1.0 (zero).

A ANDD IN1, OUT


W
L ORD IN1, OUT
XORD IN1, OUT

3 3 3
221 222 224

Ingressi/Uscite Operandi Tipi di dati


IN1, IN2 VD, ID, QD, MD, SMD, AC, LD, HC, costante, *VD, *AC, SD, DWORD
*LD
OUT VD, ID, QD, MD, SMD, LD, AC, *VD, *AC, SD, *LD DWORD

Pagina 42
Sistema di automazione S7-200, Manuale di sistema
9-112 C79000-G7072-C233-01
Operazioni SIMATIC

9.13 Operazioni di scorrimento e rotazione SIMATIC

Fai scorrere byte verso destra, Fai scorrere byte verso sinistra

K
Le operazioni Fai scorrere byte verso destra e Fai scorrere
O SHR_B byte verso sinistra fanno scorrere a destra o a sinistra il
P EN ENO valore del byte di ingresso secondo il valore di scorrimento (N),
F e caricano il risultato in un byte di uscita (OUT).
U IN OUT
OUT
P
Mentre i bit vengono fatti scorrere fuori, le operazioni di
N
scorrimento si riempiono di zero. Se il conteggio di offset (N)
SHL_B maggiore o uguale a 8, il valore viene fatto scorrere per un
EN ENO massimo di 8 volte.
IN OUT
OUT Se il conteggio di offset maggiore di zero, il merker di
overflow (SM 1.1) assume il valore dellultimo bit fatto scorrere
N
fuori. Il merker zero (SM1.0) viene impostato se il risultato
delloperazione di scorrimento zero.
A
W SRB OUT, N Le operazioni di scorrimento di byte verso destra o sinistra sono
L senza segno.
SLB OUT, N
Condizioni derrore che impostano ENO = 0: SM4.3 (tempo di
3 3 3 esecuzione), 0006 (indirizzo indiretto).
221 222 224 Queste operazioni influenzano i seguenti bit di merker speciali:
SM1.0 (zero); SM1.1 (overflow).

Ingressi/Uscite Operandi Tipi di dati


IN, OUT VB, IB, QB, MB, SB, SMB, LB, AC, *VD, *AC, *LD BYTE
N VB, IB, QB, MB, SB, SMB, LB, AC, costante, *VD, *AC, *LD BYTE

Pagina 43
Sistema di automazione S7-200, Manuale di sistema
9-116 C79000-G7072-C233-01
Merker speciali (SM) C
I merker speciali mettono a disposizione una variet di funzioni (sia di stato che di controllo)
e fungono da mezzo per comunicare informazioni tra la CPU ed il programma utente. I
merker speciali possono essere indirizzati a bit, byte, parole o doppie parole.

SMB0: Bit di stato


Come indicato nella tabella C-1, SMB0 contiene otto bit di stato che vengono aggiornati
dalla CPU S7-200 alla fine di ogni ciclo di scansione.

Tabella C-1 Byte di merker speciale SMB0 (da SM0.0 a SM0.7)

Byte SM Descrizione
SM0.0 Questo bit sempre ON (impostato su 1).
SM0.1 Questo bit sempre ON per il primo ciclo di scansione. Viene utilizzato, ad esempio, per
richiamare un sottoprogramma di inizializzazione.
SM0.2 Questo bit on per 1 ciclo di scansione in caso di perdita dei dati a ritenzione. Pu
essere utilizzato come merker di errore o come meccanismo per richiamare una speciale
sequenza di avvio.
SM0.3 Questo bit viene attivato per un ciclo se si passa allo stato RUN da una condizione di
avvio. Pu essere utilizzato per fornire un tempo di riscaldamento (warm-up) del sistema
prima di avviare delle operazioni.
SM0.4 Questo bit mette a disposizione un impulso di clock di 60 secondi (on per 30 secondi, off
per altri 30). Viene cos fornito un ritardo facile da programmare o un impulso di clock di
un minuto.
SM0.5 Questo bit mette a disposizione un impulso di clock di 1 secondo (on per 0,5 secondi, off
per altri 0,5 secondi). Viene cos fornito un tempo di ritardo facile da programmare o un
impulso di clock di un secondo.
SM0.6 Questo bit un clock di ciclo di scansione che attivo per un ciclo e disattivato per il
ciclo successivo. Pu essere utilizzato come ingresso di conteggio del ciclo di
scansione.
SM0.7 Questo bit rispecchia la posizione dellinterruttore degli stati di funzionamento
(off=TERM; on=RUN). Se viene utilizzato per attivare il modo freeport quando
linterruttore in RUN, esso consente di abilitare la comunicazione con il PG
commutando linterruttore su TERM.

Pagina 44
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01 C-1