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