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
l’interfacciamento 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 l’utente.
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 dall’impianto 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 dall’automatismo, 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 l’uscita (o le
uscite) in un certo istante è funzione soltanto del valore che in quell’istante 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;
- l’impiego 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
dell’impianto. 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 all’inconveniente 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 dell’elaboratore stesso. L’insieme delle istruzioni,
che svolgono una funzione richiesta, costituisce il programma applicativo. Risulta quindi evidente che,
disponendo di un’apparecchiatura 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.
L’innovazione di questi sistemi rispetto ai sistemi classici di automazione (sia a relè che statici) è
rappresentata dalla programmabilità. L’impiego 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à
d’utilizzo: 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 l’altro è legata a molti fattori: il prezzo, la
reperibilità sul mercato, l’affidabilità del prodotto e la conoscenza specifica del prodotto che possiede
chi deve sviluppare il software. Per conoscenza specifica s’intende la conoscenza del softwerista
relativamente al prodotto che usa, alla padronanza del linguaggio di programmazione (diverso per ogni
casa costruttrice), dell’hardware 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.
L’esperienza 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 all’interno 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 l’alimentazione 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 uomomacchina. 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. Nell’ambito 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 dell’elaborazione, 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 all’interno 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 nell’automazione 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 dall’impianto
(finecorsa, pressostati, pulsanti, selettori, ecc.);
- sezione di USCITA, riceve i segnali prodotti dall’elaborazione 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.
Figura 1 – l’hardware di un PLC è costituito
da: Unità Centrale, Memoria e sezioni di
Ingresso/Uscita.
I dati e gli indirizzi scambiati tra i blocchi
transitano su un BUS di comunicazione.
Memoria
Unità
Centrale
(CPU)
B
U
S
Ingressi
Impianto
Uscite
Unità centrale di processo (CPU)
La CPU, Central Processing Unit o unità centrale
costituisce l’intelligenza 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 dell’elaborazione 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 l’ingombro.
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
d’ingresso provenienti dalla macchina da
controllare, esegue in sequenza le istruzioni
registrate in memoria e, in base ai risultati
logici dell’elaborazione 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.
L’estensione in memoria è misurata in K words, dove K è l’abbreviazione 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.
Sistema operativo
Immagine dello
stato degli ingressi
Immagine dello
stato delle uscite
Funzioni interne
COIL
CONTATORI
TEMPORIZZATORI
Programma
utente
Memoria
Figura 4 - Le istruzioni che
costituiscono il programma sono
registrate in memoria una dopo
l’altra, in modo sequenziale.
Ogni istruzione è codificata in
binario. Nello esempio a ogni
istruzione logica corrisponde una
parola binaria di 16 bit. I 4 bit più
significativi rappresentano il
codice operativo (STR=1010,
ANDNOT=1011, ecc.).
I rimanenti bit rappresentano
l’indirizzo dell’operando o l’operando stesso.
File: PLC.DOC
Figura 3 - La memoria del PLC è suddivisa in diverse zone,
ciascuna adibita a compiti differenti:
- 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 .
M emoria per il programma utente
La memoria per il programma utente contiene le
istruzioni che costituiscono il programma. Esse sono
registrate una dopo l’altra, opportunamente codificate in una
sequenza di bit. La CPU legge ed esegue ciascuna delle
istruzioni seguendo un ciclo di scansione che parte dalla prima
istruzione fino all’ultima, per poi ripartire da capo (figura 4).
Questa memoria è di tipo RAM, di solito realizzata con
tecnologia CMOS. Essendo una memoria volatile è
necessario salvaguardare il contenuto nel caso di mancanza
improvvisa di tensione; per questo motivo è prevista una
alimentazione supplementare, con una piccola batteria
tampone (o altre soluzioni, come ad esempio, un condensatore
ad alta capacità).
Locazioni di
memoria
CODICE
MNEMONICO
Locazioni di
memoria
0
1
2
3
...
99
100
101
...
...
4094
4095
STR 001
AND NOT 002
OUT 040
STR NOT 040
AND 002
OUT 041
0
1
2
3
...
99
100
101
...
...
4094
4095
Pagina 5
CODICE
BINARIO
1010000000000001
1011000000000010
1100000000101000
1110000000000010
1101000000000100
1100000000101001
Prof. Bani S.
Memoria per le funzioni interne
La memoria per le funzioni interne è ancora una memoria indirizzabile dall’utente ma che contiene
i dati necessari all’elaborazione 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 all’inizio di ogni ciclo di
scansione un’immagine dello stato degli ingressi; in base al loro valore e alla funzione logica voluta dal
programma utente è aggiornata la zona che contiene l’immagine 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 un’uscita 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 l’hardware.
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 dell’alimentazione, 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 all’interfacciamento 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 l’I/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 (0÷5V). 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 d’ingresso.
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 d’ingresso : è 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 dall’elaborazione 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 l’automazione di grandi impianti, sono
stati diversificati secondo la capacità, intesa come il massimo numero di punti di ingresso e uscita
collegabili a un’unica 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 l’unico 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 occupa
normalmente
uno slot. È
possi-bile
scegliere
tra
vari tipi di
schede,
in
modo da realizzare la configurazione 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 l’alimentazione, 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 all’unità centrale del PLC è limitato e varia da modello a modello. I
collegamenti tra più racks dello stesso sistema sono effettuati mediante appositi cavi, mentre all’interno
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 l’altra.
Il funzionamento del PLC è ciclico, cioè la CPU per elaborare il programma legge ed esegue in
sequenza le istruzioni, partendo dalla prima. Dopo l’elaborazione dell’ultima istruzione l’esecuzione
ricomincia da capo.
All’inizio di ogni ciclo di scansione la CPU interroga i segnali d’ingresso e li registra nella memoria
immagine dello stato degli ingressi, in modo da creare una “fotografia” della situazione del processo.
Durante l’elaborazione 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 dall’elaborazione 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.
L’ordine 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
OPERATIVO
IMMAGINE
STATO INGRESSI
IMMAGINE
STATO USCITE
MEMORIA
SISTEMA
OPERATIVO
SISTEMA
OPERATIVO
IMMAGINE
STATO INGRESSI
IMMAGINE
STATO USCITE
IMMAGINE
STATO INGRESSI
IMMAGINE
STATO USCITE
SISTEMA
OPERATIVO
IMMAGINE
STATO INGRESSI
IMMAGINE
STATO USCITE
FUNZIONI
INTERNE
FUNZIONI
INTERNE
FUNZIONI
INTERNE
MEMORIA
UTENTE
MEMORIA
UTENTE
UNITA'
CENTRALE
(CPU)
UNITA'
CENTRALE
(CPU)
INGRESSI
INGRESSI
INGRESSI
USCITE
USCITE
USCITE
MEMORIA
UTENTE
UTENTE
UNITÀ
CENTRALE
(CPU)
UNITA'
CENTRALE
(CPU)
ISTRUZIONE 1
ISTRUZIONE 2
ISTRUZIONE 3
......
......
ISTRUZIONE N
ULTIMA ISTRUZ.
INGRESSI
USCITE
Figura 6a
Figura 6b
Figura 6c
Figura 6d
In questo modo lo
gramma legge ed Figura 6d - Solo al
Figura 6a - Prima di
stato dei segnali
esegue in sequenza
iniziare la scansione
completamento del
d’ingresso si conserle istruzioni, partendel programma apciclo di programma il
va
inalterato
per
un
do
dalla
prima
fino
plicativo, la CPU
contenuto
della
intero ciclo di elaboall’ultima istruzione
interroga i segnali
memoria immagine è
razione, cosicché i
del programma.
d’ingresso e li regitrasferito alle corcambiamenti di sestra nella memoria
rispondenti unità; in
gnale che si verifi- Figura 6c - I risultati
immagine dello stato
seguito viene attivato
cano durante il ciclo
degli ingressi.
prodotti dall’elaboun nuovo ciclo di
non possono creare
Durante l’elaborarazione durante il
elaborazione. Il temdisturbi.
zione del programma
ciclo sono registrati
po necessario per
tutte le interrogatemporaneamente
scandire tutte le
zioni sul valore degli Figura 6b - Il funzionella memoria immaistruzioni del proingressi fanno rifenamento 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 è l’elemento determinante per dare all’hardware 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 l’azione 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 dell’utente. 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
dell’automazione 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, l’ampliabilità, 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, l’ampia 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 un’ampia 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
1-2
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Introduzione al Micro PLC S7-200
Tabella 1-1
Elenco delle CPU S7-200
Funzioni
Dimensioni fisiche dell’unità
CPU 221
CPU 222
CPU 224
90 mm x 80 mm x
62 mm
90 mm x 80 mm x
62 mm
120,5 mm x 80 mm x
62 mm
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
elevata capacità)
Di reg. 50 ore
Di reg. 50 ore
Di reg. 190 ore
Ingressi/uscite integrati
6 ingressi / 4 uscite
8 ingressi / 6 uscite
14 ingressi / 10 uscite
Numero unità di ampliamento
nessuna
2 unità
7 unità
Dimensione dell’immagine degli I/O
digitali
256 (128 ingressi e
128 uscite)
256 (128 ingressi e
128 uscite)
256 (128 ingressi e
128 uscite)
Dimensioni fisiche degli I/O digitali
10
62
128
Dimensione dell’immagine degli I/O
analogici
nessuno
16 ingressi / 16 uscite
16 ingressi / 16 uscite
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Memoria
Ingressi/uscite integrati
I/O totali
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Dimensioni fisiche dell’immagine
degli I/O analogici
nessuno
12 ingressi / 10 uscite
12 ingressi / 10 uscite
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
numeri interi (+ - * /)
Sì
Sì
Sì
Operazioni matematiche con i
numeri reali (+ - * /)
Sì
Sì
Sì
Operazioni
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ì
Numero di porte di comunicazione:
1 (RS-485)
1 (RS-485)
1 (RS-485)
Protocolli supportati
PPI, slave MPI,
Freeport
PPI, slave MPI,
Freeport
PPI, slave MPI,
Freeport
(NETR/NETW)
(NETR/NETW)
(NETR/NETW)
Comunicazione
Porta 0:
PROFIBUS punto a punto
Pagina 16
1-4
Sistema di automazione S7-200, Manuale di sistema
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 l’indirizzo di memoria a cui si vuole
accedere, consentendo così al programma di accedere direttamente alle informazioni.
Utilizzo dell’indirizzo di memoria per l’accesso ai dati
Per accedere al bit di in un’area di memoria occorre specificarne l’indirizzo, che comprende
l’identificazione dell’area di memoria, l’indirizzo 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 l’area
di memoria e l’indirizzo del byte (I = ingresso, 3 = byte 3) sono seguiti da un punto decimale
(”.”) che separa l’indirizzo del bit (bit 4).
MSB
I 3 . 4
LSB
7 6 5 4 3 2 1 0
Bit di byte, o numero di bit: bit 4 di 8 (da 0 a 7)
Punto decimale, separa l’indirizzo byte
dal numero di bit
Indirizzo byte: byte 3 (quarto byte)
Identificazione di area (I = ingresso)
MSB = bit più significativo
LSB = bit meno significativo
Figura 5-1
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Accesso a un bit di dati nella memoria della CPU (indirizzamento byte.bit)
Pagina 17
5-2
Sistema di automazione S7-200, Manuale di sistema
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 l’indirizzo in modo
analogo alla specificazione di indirizzo di un bit. Tale indirizzo include una identificazione
dell’area, la dimensione dei dati e l’indirizzo 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 l’identificazione
dell’area e il numero del dispositivo.
V B 100
MSB
7
VB100
LSB
0
Indirizzo del byte
Accesso a un valore in formato byte
VB100
Identificazione di area (memoria V)*
Byte meno significativo
Byte più significativo
MSB
15
VW100
8
Indirizzo del byte
Accesso a un valore in formato parola
LSB
0
7
VB100
V W 100
VB101
Identificazione di area (memoria V)*
Byte più significativo
MSB
31
VD100
24
Byte meno significativo
23
VB100
16
VB101
15
LSB
0
8 7
VB102
VB103
V D 100
MSB =
LSB =
Figura 5-2
bit più significativo
bit meno significativo
Indirizzo del byte
Accesso a un valore in formato doppia parola
Identificazione di area (memoria V)*
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). L’accesso 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
Di
Dimensione
i
d
deii d
dati
ti
Decimale
Esadecimale
Campo interi con segno
Decimale
Esadecimale
B (byte):
valore a 8 bit
da 0 a 255
da 0 a FF
da -128 a 127
da 80 a 7F
W (parola):
valore a 16 bit
da 0 a 65.535
da 0 a FFFF
da -32.768 a
32.767
da 8000 a 7FFF
D (doppia parola, Dparola):
valore a 32 bit
da 0 a
4.294.967.295
da 0 a
FFFF FFFF
da -2.147.483.648
a 2.147.483.647
da 8000 0000 a
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 all’inizio 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
Byte, parola, doppia parola
I[indirizzo byte].[indirizzo bit]
I[dimensione][indirizzo byte iniziale]
I0.1
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
nell’immagine di processo delle uscite. Si potrà accedere a tale registro in bit, byte, parola e
doppia parola.
Formato:
Bit
Byte, parola, doppia parola
Q[indirizzo byte].[indirizzo bit]
Q[dimensione][indirizzo byte iniziale]
Q1.1
QB5
Pagina 19
5-4
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Memoria della CPU: tipi di dati e modi di indirizzamento
Indirizzamento dell’area 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
dell’utente. Si potrà accedere all’area di memoria V in bit, byte, parola e doppia parola.
Formato:
Bit
Byte, parola, doppia parola
V[indirizzo byte].[indirizzo bit]
V10.2
V[dimensione][indirizzo byte iniziale] VW100
Indirizzamento dell’area di merker (M)
L’area 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
Byte, parola, doppia parola
M26.7
M[indirizzo byte].[indirizzo bit]
M[dimensione][indirizzo byte iniziale] MD20
Indirizzamento dell’area 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
Byte, parola, doppia parola
S3.1
S[indirizzo byte].[indirizzo bit]
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 l’appendice B. Nonostante i dati SM siano
su base bit, si potrà accedere ad essi nei formati bit, byte, parola e doppia parola.
Formato:
Bit
Byte, parola, doppia parola
SM[indirizzo byte].[indirizzo bit]
SM0.1
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 dell’area 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 l’ammontare 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 dell’operazione di temporizzazione.
Si può accedere a entrambe queste variabili utilizzando l’indirizzo del temporizzatore
(T + numero temporizzatore). L’accesso al bit di temporizzazione o al valore corrente
dipende dall’operazione 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, l’operazione Contatto normalmente aperto accede al bit di
temporizzazione, mentre l’operazione 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]
Valore corrente
T3
Identificazione di area (temporizzatore)*
I2.1
Valore corrente del temporizzatore Bit temporizzaz.
LSB
(lettura/scrittura)
0
EN
IN
OUT
T0
T1
T2
T3
MSB
15
MOV_W
T3
Bit temporizzazione (lettura/scrittura)
T0
T1
T2
T3
Numero temporizzatore
(indirizzo di valore di corrente)
T24
VW200
Numero temporizzatore
(indirizzo di valore corrente)
T0
T1
T2
T3
T0
T1
T2
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 dell’area di memoria di contatori (C)
Nella CPU S7-200 i contatori sono elementi che contano ogni transizione da negativa a
positiva all’ingresso o agli ingressi del contatore. La CPU fornisce tre tipi di contatori: il primo
conta solo in avanti, il secondo conta all’indietro 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 dell’operazione di conteggio.
Si può accedere a entrambe le variabili utilizzando l’indirizzo del contatore (C + numero
contatore). L’accesso al bit di conteggio o al valore corrente dipende dall’operazione 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 l’operazione Contatto
normalmente aperto accede al bit di conteggio, mentre l’operazione 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]
C3
Valore corrente
Numero contatore
(indirizzo di valore corrente)
Identificazione di area (contatore)
MOV_W
I2.1
C3
EN
ENO
IN
OUT
C20
Bit conteggio
(lettura/scrittura)
C0
C1
C2
C3
C0
C1
C2
C3
MSB
15
VW200
Numero contatore
(indirizzo di valore corrente)
Valore corrente
(lettura/scrittura)
C0
C1
C2
C3
LSB
0
Bit di conteggio
C0
C1
C2
C3
Identificazione di area (contatore)
Figura 5-4
Accesso ai dati di conteggio SIMATIC
Pagina 22
5-8
Sistema di automazione S7-200, Manuale di sistema
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
ingressi
da I0.0 a I15.7
da I0.0 a I15.7
da I0.0 a I15.7
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
256 (da T0 a T255)
256 (da T0 a T255)
256 (da T0 a T255)
T0, T64
T0, T64
T0, T64
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 all’inserzione
con memoria
100 ms
da T5 a T31, da T69 a
T95
da T5 a T31, da T69 a
T95
da T5 a T31, da T69 a
T95
di ritardo all’inserzione/
disinserzione
T32, T96
T32, T96
T32, T96
di ritardo all’inserzione/
disinserzione
10 ms
da T33 a T36, da T97 a
T100
da T33 a T36, da T97 a
T100
da T33 a T36, da T97 a
T100
di ritardo all’inserzione/
disinserzione
100 ms
da T37 a T63, da T101 a
T255
da T37 a T63, da T101 a
T255
da T37 a T63, da T101 a
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
di ritardo all’inserzione
con memoria
1 ms
di ritardo all’inserzione
con memoria
10 ms
1 ms
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
CPU 221
Metodo di accesso
Accesso a bit (byte.bit)
Accesso a byte
Accesso a parola
Accesso a doppia parola
CPU 222
CPU 224
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
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
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
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
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
da 0 a 28
Costante
Pagina 24
8-8
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Operazioni SIMATIC
9.1
Operazioni logiche booleane SIMATIC
Contatti standard
K
O
P
bit
bit
Il Contatto normalmente aperto è chiuso (on) quando il bit
vale 1.
/
F
U
P
Queste operazioni ricavano il valore indirizzato dal registro delle
immagini di processo o di memoria quando il tipo di dati è I o Q.
È possibile utilizzare al massimo sette ingressi rispettivamente
per i box AND e OR.
AND
Il Contatto normalmente aperto è chiuso (on) quando il bit
vale 0.
In KOP, le operazioni normalmente aperte e normalmente
chiuse sono rappresentate mediante contatti.
o
A
W
L
LD
A
O
bit
bit
bit
LDN
AN
ON
bit
bit
bit
3
3
3
221
222
224
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
rappresentate mediante box. Per realizzarle, collocare il
simbolo della negazione sulla linea del segnale di ingresso.
In AWL il contatto normalmente aperto è rappresentato dalle
operazioni Carica il valore di bit, Combina il valore di bit
tramite And e Combina il valore di bit tramite OR. Tali
operazioni caricano il valore del bit dall’indirizzo nel valore
superiore dello stack logico o combinano tramite AND o OR il
valore del bit dell’indirizzo 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 dall’indirizzo
n nel valore superiore dello stack logico o combinano tramite
AND o OR il valore di bit dell’indirizzo 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
9-2
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Operazioni SIMATIC
Contatto Not
K
O
P
NOT
F
U
P
In KOP l’operazione NOT viene rappresentata mediante un
contatto.
K
O
P
A
W
L
Il contatto NOT modifica lo stato del flusso di corrente. Il flusso
di corrente si arresta se raggiunge il contatto Not e fornisce
energia se non lo raggiunge.
In FUP l’operazione NOT utilizza il simbolo grafico di negazione
con ingressi di box booleani.
In AWL l’operazione NOT modifica il valore superiore dello
stack logico da 0 a 1 oppure da 1 a 0.
NOT
3
3
3
Operandi:
nessuno
221
222
224
Tipi di dati:
nessuno
Transizione positiva e negativa
K
O
P
Il contatto Transizione positiva attiva il flusso di corrente per
un ciclo di scansione ad ogni transizione da off a on.
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.
In FUP queste operazioni sono rappresentate dai box P ed N.
F
U
P
P
IN
OUT
N
IN
A
W
L
OUT
EU
ED
3
3
3
221
222
224
Ingressi/Uscite
In AWL il contatto Transizione positiva è rappresentato
dall’operazione Rilevamento di fronte di salita. Quando
l’operazione rileva una transizione del valore superiore dello
stack logico da 0 a 1, imposta tale valore a 1; altrimenti lo
imposta a 0.
In AWL il contatto Transizione negativa è rappresentato
dall’operazione Rilevamento di fronte di discesa. Quando
l’operazione rileva una transizione del valore superiore dello
stack logico da 1 a 0, imposta tale valore a 1; altrimenti lo
imposta a 0.
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
9-4
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Operazioni SIMATIC
Assegna
K
O
P
bit
L’operazione Assegna attiva il bit di uscita del registro delle
immagini di processo.
In KOP e in FUP questa operazione pone il bit specificato
uguale al flusso di corrente.
F
U
P
bit
=
A
W
L
In AWL l’operazione uscita copia il valore superiore dello stack
nel bit specificato.
= bit
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
K
O
P
Bit
I
Bit
=I
F
U
P
A
W
L
L’operazione Assegna direttamente pone l’uscita fisica (bit o
OUT) uguale al flusso di corrente.
La lettera “I” indica un riferimento diretto; ovvero l’operazione
scrive il nuovo valore sia nell’uscita fisica, che nel
corrispondente indirizzo del registro delle immagini di processo.
In caso di riferimento indiretto, l’operazione scrive invece il
nuovo valore solamente nel registro delle immagini di processo.
In AWL l’operazione Uscita immediata copia direttamente il
valore superiore dello stack nell’uscita fisica (bit) specificata.
=I bit
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
9-6
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Operazioni SIMATIC
Imposta, Resetta (N bit)
Bit
S
N
Bit
R
N
K
O
P
F
U
P
Bit
S
EN
N
Le operazioni Imposta e Resetta rispettivamente impostano
(attivano) e resettano (disattivano) un numero specificato di
punti (N) a partire dal valore indicato dal bit o dal parametro
OUT.
Il campo di punti impostabili o resettabili va da 1 a 255. Se il bit
specificato è un bit T o C, l’operazione Resetta resetta il bit del
temporizzatore o del contatore e ne cancella il valore corrente.
Condizioni d’errore che impostano ENO = 0: SM4.3 (tempo di
esecuzione), 0006 (indirizzo indiretto), 0091 (operando non
compreso nel campo).
Bit
R
EN
N
A
W
L
S
bit, N
R
bit, N
3
3
3
221
222
224
Operandi
Ingressi/Uscite
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
K
O
P
IN1
==B
IN2
L’operazione Confronto di byte consente di confrontare i valori
IN1 e IN2. Si possono effettuare i seguenti tipi di confronto:
IN1 = IN2, IN1 >= IN2, IN1 <= IN2, IN1 > IN2, IN1 < IN2 o
IN1 <> IN2.
I confronti di byte sono senza segno.
F
U
P
==B
In KOP il contatto è attivo quando il confronto è vero.
In FUP l’uscita è attiva quando il confronto è vero.
A
W
L
LDB =
AB=
OB=
LDB<>
AB<>
OB<>
LDB<
AB<
OB<
LDB <=
AB<=
OB<=
LDB>
AB>
OB>
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
IN1, IN2
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
dello stack.
LDB >= IN1, IN2
AB>=
IN1, IN2
OB>=
IN1, IN2
3
3
3
221
222
224
Ingressi/Uscite
Ingressi
Uscite (FUP)
Operandi
Tipi di dati
IB, QB, MB, SMB, VB, SB, LB, AC, costante, *VD, *AC,*LD
I, Q, M, SM, T, C, V, S, L, flusso di corrente
BYTE
BOOL
Pagina 29
9-10
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Operazioni SIMATIC
9.3
Operazioni di temporizzazione SIMATIC
Avvia temporizzazione come ritardo all’inserzione, Avvia temporizzazione come
ritardo all’inserzione con memoria, Avvia temporizzazione come ritardo alla
disinserzione
K
O
P
Txxx
TON
IN
F
U
P
PT
Txxx
TONR
IN
PT
Txxx
TOF
IN
PT
A
W
L
TON
Txxx, PT
TONR
Txxx, PT
TOF
Txxx, PT
3
3
3
221
222
224
Le operazioni Avvia temporizzazione come ritardo
all’inserzione e Avvia temporizzazione come ritardo
all’inserzione con memoria conteggiano il tempo quando
l’ingresso di abilitazione è attivo (ON). Il bit di temporizzazione
viene attivato quando il valore corrente (Txxx) diventa maggiore
o uguale al tempo preimpostato (PT).
Quando l’ingresso di abilitazione è disattivato (OFF), il valore
corrente del temporizzatore di ritardo all’inserzione viene
resettato, mentre quello del temporizzatore di ritardo
all’inserzione con memoria viene mantenuto. Quest’ultimo
consente di accumulare il tempo per più periodi di attivazione
dell’ingresso. Il valore corrente del temporizzatore può essere
resettato con l’operazione Resetta (R).
Sia il temporizzatore di ritardo all’inserzione, che il
temporizzatore di ritardo all’inserzione con memoria continuano
a contare una volta raggiunto il valore preimpostato e si
arrestano al raggiungimento del valore massimo 32767.
L’operazione Avvia temporizzazione come ritardo alla
disinserzione consente di ritardare la disattivazione di
un’uscita per un dato periodo di tempo dopo che l’ingresso è
stato disattivato. Quando l’ingresso di abilitazione si attiva, il bit
di temporizzazione viene immediatamente attivato e il valore
corrente viene impostato a 0. Alla disattivazione dell’ingresso, 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 l’ingresso resta disattivato per un tempo inferiore
a quello preimpostato, il bit di temporizzazione resta attivo. Per
iniziare il conteggio, l’operazione TOF deve rilevare una
transizione da attivo a disattivato (ON - OFF).
Se il temporizzatore TOF si trova in un’area non attiva di SCR,
il valore corrente viene impostato a 0, il bit di temporizzazione
viene disattivato e il valore corrente non avanza.
Operandi
Ingressi/Uscite
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,
*VD, *AC, *LD
INT
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
temporizzatore
TONR
TON, TOF
Risoluzione in
millisecondi (ms)
Valore massimo
in secondi (s)
Numero del temporizzatore
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
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
9-16
Sistema di automazione S7-200, Manuale di sistema
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 l’esecuzione del contatto
normalmente chiuso T32 e prima dell’esecuzione 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 dall’inizio 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 l’uscita Q0.0 resti attiva per
un ciclo ogni volta che il temporizzatore raggiunge il valore preimpostato.
Utilizzo di un temporizzatore da 1 ms
Errato
T32
T32
TON
IN
/
300
Q0.0
T33
IN TON
T33
/
30
300
Q0.0
IN
PT
Q0.0
Soluzione migliore
Q0.0
/
T37
IN
3
PT
Q0.0
T33
TON
IN
T33
T37
/
3
Corretto
30
Utilizzo di un temporizzatore da 100 ms
T37
Q0.0
Q0.0
/
Corretto
T37
TON
PT
T32
PT
T33
T32
TON
IN
/
Utilizzo di un temporizzatore da 10 ms
Errato
Figura 9-4
Q0.0
PT
T32
Corretto
T37
TON
PT
Q0.0
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 all’inserzione
KOP
I2.0
FUP
T33
T33
IN
3
TON
TON
PT
I2.0
IN
3
PT
AWL
LD
TON
I2.0
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 all’inserzione in KOP, FUP e AWL
Pagina 33
9-20
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Operazioni SIMATIC
Esempio di temporizzatore di ritardo all’inserzione con memoria
KOP
I2.1
FUP
T2
T2
IN
10
TON
R
TONR
PT
I2.1
IN
10
PT
AWL
LD
TONR
I2.1
T2, 10
Diagramma di temporizzazione
I2.1
Valore
massimo = 32767
PT = 10
T2 (corrente)
T2 (bit)
Figura 9-6
Esempio di temporizzatore di ritardo all’inserzione 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
I0.0
IN
3
FUP
T33
T33
TOF
PT
I0.0
IN
3
PT
TOF
AWL
LD
TOF
I0.0
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
9-22
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Operazioni SIMATIC
9.4
Operazioni di conteggio SIMATIC
Conta in avanti, Conta in avanti/indietro, Conta indietro
K
O
P
Cxxx
CU CTU
F
U
P
R
PV
Cxxx
CU CTUD
CD
R
PV
L’operazione Conta in avanti/indietro conta in avanti sui fronti
di salita dell’ingresso di conteggio in avanti (CU); conta
all’indietro sui fronti di salita dell’ingresso di conteggio
all’indietro (CD). Quando il valore corrente (Cxxx) è >= al valore
preimpostato (PV), il bit di conteggio (Cxxx) viene attivato. Il
contatore viene resettato quando si attiva l’ingresso di reset
(R).
CTU
Cxxx, PV
Il contatore Conta indietro conta all’indietro da un valore
predefinito sui fronti di salita dell’ingresso di conteggio
all’indietro (CD). Quando il valore corrente diventa uguale a
zero, il bit di conteggio (Cxxx) viene attivato. Il contatore resetta
il bit di conteggio (Cxxx) e carica il valore corrente con il valore
preimpostato (PV) quando l’ingresso di caricamento (LD)
diventa attivo. Il contatore indietro smette di contare quando
raggiunge lo zero.
CTUD
Cxxx, PV
Aree dei contatori: Cxxx=da C0 a C255
CTD
Cxxx, PV
In AWL l’ingresso di reset CTU corrisponde al valore superiore
dello stack, mentre l’ingresso di conteggio in avanti è il valore
caricato nella seconda posizione dello stack.
Cxxx
CD CTD
LD
PV
A
W
L
L’operazione Conta in avanti conta in avanti fino al valore
massimo sui fronti di salita dell’ingresso di conteggio in avanti
(CU). Quando il valore corrente (Cxxx) è >= al valore
preimpostato (PV), il bit di conteggio (Cxxx) viene attivato. Il
contatore viene resettato quando si attiva l’ingresso di reset
(R).
3
3
3
221
222
224
In AWL l’ingresso di reset CTUD corrisponde al valore
superiore dello stack, l’ingresso di conteggio all’indietro il valore
caricato nella seconda posizione dello stack e l’ingresso di
conteggio in avanti è il valore caricato nella terza posizione
dello stack.
In AWL l’ingresso di caricamento CTD è la sommità dello stack
e l’ingresso di conteggio all’indietro è il valore caricato nella
seconda posizione dello stack.
Operandi
Ingressi/Uscite
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,
*AC, *LD, SW
INT
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
L’operazione Conta in avanti (CTU) conta in avanti a partire dal valore corrente del contatore
ogni volta che l’ingresso di conteggio in avanti passa da off a on. Il contatore viene resettato
quando si attiva l’ingresso di reset o quando viene eseguita l’operazione Reset. Esso si
arresta al raggiungimento del valore massimo (32.767).
L’operazione Conta in avanti/indietro (CTUD) conta in avanti ogni volta che l’ingresso di
conteggio in avanti passa da off a on e conta all’indietro ogni volta che l’ingresso di
conteggio all’indietro passa da off a on. Il contatore viene resettato quando si attiva
l’ingresso di reset o quando viene eseguita l’operazione Reset. Al raggiungimento del valore
massimo (32.767), il fronte di salita successivo dell’ingresso 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 dell’ingresso di
conteggio all’indietro 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 l’operazione 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.
L’operazione Conta indietro conta all’indietro a partire dal valore corrente del contatore ogni
volta che l’ingresso 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 l’ingresso di
caricamento diventa attivo. Il contatore si arresta quando raggiunge lo zero e il bit di
conteggio (bit C) diventa attivo.
Se l’utente resetta un contatore con l’operazione 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
9-24
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Operazioni SIMATIC
Esempi di contatore
KOP
FUP
C50
I3.0
C50
CTD
CD
I3.0
CD
I1.0
LD
CTD
I1.0
LD
3
3
PV
PV
AWL
LD
LD
CTD
I3.0
I1.0
C50, 3
//Ingresso di conteggio all’indietro
//Ingresso di caricamento
Diagramma di temporizzazione
I3.0
All’indietro
I1.0
Caricamento
3
3
2
C50
(valore corrente)
2
1
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
I4.0
CU
FUP
C48
CTUD
I4.0
CU
I3.0
CD
I2.0
R
C48
CTUD
I3.0
CD
I2.0
R
4
4
PV
PV
AWL
LD
LD
LD
CTUD
I4.0
I3.0
I2.0
C48, 4
//Ingresso di conteggio in avanti
//Ingresso di conteggio all’indietro
//Ingresso di reset
Diagramma di temporizzazione
I4.0
In avanti
I3.0
All’indietro
I2.0
Reset
5
4
3
5
4
4
3
2
C48
(valore corrente)
1
0
0
C48
(bit)
Figura 9-9
Esempio di operazione di conteggio CTUD in KOP, FUP e AWL
Pagina 39
9-26
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Operazioni SIMATIC
9.10
Operazioni di trasferimento SIMATIC
Trasferisci byte, Trasferisci parola, Trasferisci doppia parola, Trasferisci numero reale
K
O
P
MOV_B
EN ENO
F
U
P
IN
OUT
MOV_W
EN ENO
IN
OUT
MOV_DW
EN ENO
IN
OUT
MOV_R
EN ENO
IN
A
W
L
MOVB
MOVW
MOVD
MOVR
OUT
3
3
3
222
224
Byte
Parola
L’operazione Trasferisci doppia parola trasferisce la doppia
parola di ingresso (IN) nella doppia parola di uscita (OUT). La
doppia parola di ingresso non viene modificata dall’operazione.
L’operazione Trasferisci numero reale trasferisce la doppia
parola di ingresso a 32 bit (IN) nella doppia parola di uscita a
32 bit (OUT). La doppia parola di ingresso non viene modificata
dall’operazione.
Condizioni d’errore che impostano ENO = 0: SM4.3 (tempo di
esecuzione), 0006 (indirizzo indiretto)
Ingressi/Uscite
Operandi
Tipi di dati
IN
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
IN
VW, IW, QW, MW, SW, SMW, LW, T, C, AIW,
costante, AC *VD, *AC, *LD
WORD, INT
OUT
VW, T, C, IW, QW, SW, MW, SMW, LW, AC,
AQW, *VD, *AC, *LD
WORD, INT
IN
VD, ID, QD, MD, SD, SMD, LD, HC, &VB, &IB,
&QB, &MB, &SB, &T, &C, AC, costante, *VD,
*AC, *LD
DWORD,
DINT
OUT
VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *AC,
*LD
DWORD,
DINT
IN
VD, ID, QD, MD, SD, SMD, LD, AC, costante,
*VD, *AC, *LD
REAL
OUT
VD, ID, QD, MD, SD, SMD, LD, AC, *VD, *AC,
*LD
REAL
Doppia
Do
ia parola
arola
Numero reale
L’operazione Trasferisci parola trasferisce la parola di
ingresso (IN) nella parola di uscita (OUT). La parola di ingresso
non viene modificata dall’operazione.
IN, OUT
IN, OUT
IN, OUT
IN, OUT
221
Trasferisci...
L’operazione Trasferisci byte trasferisce il byte di ingresso (IN)
nel byte di uscita (OUT). Il byte di ingresso non viene
modificato dall’operazione.
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
K
O
P
WAND_B
EN
ENO
F
U
P
IN1 OUT
IN2
WOR_B
EN
ENO
IN1 OUT
L’operazione Combina byte tramite AND combina i bit
corrispondenti dei due byte d’ingresso IN1 e IN2 e carica il
risultato (OUT) in un byte.
L’operazione Combina byte tramite OR combina i bit
corrispondenti dei due byte d’ingresso IN1 e IN2 e carica il
risultato (OUT) in un byte.
L’operazione Combina byte tramite OR esclusivo combina i
bit corrispondenti dei due byte d’ingresso IN1 e IN2 e carica il
risultato (OUT) in un byte.
Condizioni d’errore che impostano ENO = 0: SM4.3 (tempo di
esecuzione), 0006 (indirizzo indiretto).
IN2
WXOR_B
EN
ENO
Queste operazioni influenzano i seguenti bit di merker speciali:
SM1.0 (zero)
IN1 OUT
IN2
A
W
L
ANDB
IN1, OUT
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
9-110
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
Operazioni SIMATIC
Combina doppie parole tramite AND, OR e OR esclusivo
K
O
P
WAND_DW
EN
ENO
F
U
P
IN1 OUT
IN2
WOR_DW
EN
ENO
IN1 OUT
IN2
L’operazione Combina doppie parole tramite OR esclusivo
combina tramite Or esclusivo i bit corrispondenti delle doppie
parole d’ingresso IN1 e IN2 e carica il risultato (OUT) in una
doppia parola.
Condizioni d’errore che impostano ENO = 0: SM4.3 (tempo di
esecuzione), 0006 (indirizzo indiretto).
IN1 OUT
Queste operazioni influenzano i seguenti bit di merker speciali:
SM1.0 (zero).
ANDD
IN1, OUT
ORD
IN1, OUT
XORD
IN1, OUT
3
3
3
221
222
224
Ingressi/Uscite
L’operazione Combina doppie parole tramite OR combina
tramite Or i bit corrispondenti delle doppie parole d’ingresso IN1
e IN2 e carica il risultato (OUT) in una doppia parola.
WXOR_DW
ENO
EN
IN2
A
W
L
L’operazione Combina doppie parole tramite AND combina
tramite And i bit corrispondenti delle doppie parole d’ingresso
IN1 e IN2 e carica il risultato (OUT) in una doppia parola.
Operandi
Tipi di dati
IN1, IN2
VD, ID, QD, MD, SMD, AC, LD, HC, costante, *VD, *AC, SD,
*LD
DWORD
OUT
VD, ID, QD, MD, SMD, LD, AC, *VD, *AC, SD, *LD
DWORD
Pagina 42
9-112
Sistema di automazione S7-200, Manuale di sistema
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
O
P
SHR_B
EN
ENO
F
U
P
IN
OUT
OUT
N
SHL_B
EN
ENO
IN
OUT
OUT
N
A
W
L
SRB
OUT, N
SLB
OUT, N
3
3
3
221
222
224
Ingressi/Uscite
Le operazioni Fai scorrere byte verso destra e Fai scorrere
byte verso sinistra fanno scorrere a destra o a sinistra il
valore del byte di ingresso secondo il valore di scorrimento (N),
e caricano il risultato in un byte di uscita (OUT).
Mentre i bit vengono fatti scorrere fuori, le operazioni di
scorrimento si riempiono di zero. Se il conteggio di offset (N) è
maggiore o uguale a 8, il valore viene fatto scorrere per un
massimo di 8 volte.
Se il conteggio di offset è maggiore di zero, il merker di
overflow (SM 1.1) assume il valore dell’ultimo bit fatto scorrere
fuori. Il merker zero (SM1.0) viene impostato se il risultato
dell’operazione di scorrimento è zero.
Le operazioni di scorrimento di byte verso destra o sinistra sono
senza segno.
Condizioni d’errore che impostano ENO = 0: SM4.3 (tempo di
esecuzione), 0006 (indirizzo indiretto).
Queste operazioni influenzano i seguenti bit di merker speciali:
SM1.0 (zero); SM1.1 (overflow).
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
9-116
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
C
Merker speciali (SM)
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)
Descrizione
Byte SM
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 dell’interruttore degli stati di funzionamento
(off=TERM; on=RUN). Se viene utilizzato per attivare il modo freeport quando
l’interruttore è in RUN, esso consente di abilitare la comunicazione con il PG
commutando l’interruttore su TERM.
Pagina 44
Sistema di automazione S7-200, Manuale di sistema
C79000-G7072-C233-01
C-1