PLC e Automazione Industriale
Indice della dispensa
Indice della dispensa ......................................................................................... 1
1. Introduzione al CIM ..................................................................................... 3
1.1 Computer Aided Design (CAD) ............................................................ 4
1.2 Computer Aided Manufacture (CAM)................................................... 5
1.3 Computer Aided Test (CAT) ................................................................. 6
1.4 Pianificazione e controllo delle lavorazioni ........................................... 7
1.5 Tecnologie di processo ......................................................................... .8
1.6 Robotica ............................................................................................... 10
1.7 Movimentazione automatica dei materiali ........................................... 11
2. I Sistemi distribuiti ..................................................................................... 14
2.1 Dai sistemi centralizzati a quelli distribuiti ......................................... 14
2.2 Organizzazione dei sistemi distribuiti in azienda……………………...15
2.3 Sistemi di comunicazione: reti………………………………………...18
2.3.1 Architettura ISO-OSI,TCP-IP……………………………...20
2.3.2 Le reti industriali……………………………………………22
3. I computer industriali.................................................................................. 24
3.1 I livelli di applicabilità ......................................................................... 24
3.2 La struttura dei microcomputer industriali (PMC) .............................. 25
4. Il PLC.......................................................................................................... 27
4.1 I livelli di applicabilità ......................................................................... 28
4.2 La struttura dei PLC compatti .............................................................. 30
4.3 La struttura dei PLC espandibili………………………………………31
4.3.1 Rack e Moduli di bus……………………………………….32
4.3.2 Modulo alimentatore ……………………………………….33
4.3.3 Modulo CPU……….……………………………………….33
4.3.3.1 Ciclo funzionamento CPU…………………………..35
4.3.3.2 Organizzazione programmi ..……………………….37
Pag. 1
PLC e Automazione Industriale
4.3.3.3 Dati………………………. ..……………………….39
4.3.4 Unità Periferiche…………………………...……………….40
4.3.4.1 Moduli I/O digitali………………..…………………..40
4.3.4.2 Moduli I/O analogici……………...…………………..41
4.3.4.3 Moduli posizionamento assi……....…………………..42
4.3.4.4 Moduli controllore……………….…………………...42
4.3.4.5 Moduli comunicazione…….…….…………………...43
4.4 Il software .......................................................................................... ..44
4.5 Problematiche applicative .................................................................... 49
4.5.1 Strategie di programmazione ..................................................... 49
4.5.2 Strutture ad autoritenuta............................................................. 49
4.5.3 Uso di timer e contatori ............................................................. 52
5. Esempio di progettazione………………………………………………….55
5.1 Introduzione…………………………………………………………...55
5.2 Problematiche da affrontare…………………………………………...55
5.2.1 Problematiche elettriche, elettroniche e impiantistiche……..55
5.2.2 Problematiche relative alla sicurezza………………………..56
5.2.3 Problematiche relative al software…………………………..61
5.2.4 Problematiche relative alla comunicazione fra sistemi……...61
5.3 Analisi di una metodologia di progettazione………………………….62
5.3.1 Primo step: stesura delle specifiche funzionali………………62
5.3.2 Secondo step: stesura del topologico dell’impianto…………65
5.3.3 Terzo step: stesura dello schema elettrico…………………...68
5.4 Codifica ciclo PLC……………………………………………………71
5.4.1 Comandi in manuale……………………………………………..74
5.4.2 Comandi in automatico…………………………………………..74
5.4.3 Progettazione dei dati…………………………………………….75
5.4.4 Regole fondamentali……………………………………………..75
6. Domande ed esercizi……………………………………………………...76
APPENDICE A(Simboli circuitali ANSI-IEEE Std.91) ................................ 81
APPENDICE B :regolatori PID con PLC....................................................... 82
BIBLIOGRAFIA ............................................................................................ 86
Pag. 2
PLC e Automazione Industriale
1. Introduzione al CIM
Con il termine CIM (Computer Integrated Manufacturing) ci si riferisce generalmente
alla fabbrica intelligente completamente automatizzata. Il CIM comprende varie
tecnologie, dalla progettazione automatica, al collaudo computerizzato, alla
pianificazione della produzione e così via; tuttavia se manca l'integrazione le singole
tecnologie, per quanto sofisticate, non riescono a raggiungere lo scopo ultimo del CIM e
cioé la produzione della quantità necessaria di prodotto, di qualità accettabile, al
momento giusto. Attuare una strategia CIM non significa soltanto introdurre i computer
nei vari settori di attività dell'azienda, ma fare in modo che questi computer
comunichino tra loro nel modo più efficiente.
Tra i principali obiettivi di una strategia CIM troviamo principalmente:
 incremento della qualità del prodotto
(ottenuto mediante l'analisi, la pianificazione ed il controllo del processo produttivo
in tutte le sue fasi)
 migliore flessibilità aziendale
(grazie alle tecniche di simulazione e all'integrazione e controllo dei reparti)
 riduzione delle spese generali
(grazie ad esempio alla produzione e al reperimento automatico della
documentazione, oltre alla gestione ottimizzata dei consumi energetici e dei costi di
manutenzione degli impianti)
 riduzione delle scorte fino alla produzione "just in time"
(ottenuta mediante tecniche di pianificazione di fabbisogni e risorse)
 riduzione dei tempi di produzione
(grazie all'uso integrato di controllori di processo, sistemi esperti, robot e sistemi a
controllo numerico: rispetto alle tecniche tradizionali si ottiene un drastico calo dei
tempi di predisposizione, favorendo la produzione di lotti piccoli)
Oltre alle tecniche di comunicazione per la trasmissione delle informazione tra i vari
settori aziendali, dalla rete di elaboratori di tipo gestionale, attraverso gli elaboratori di
fabbrica, fino ai regolatori automatici a livello di reparto e ai singoli controllori di
processo, il CIM prevede diversi settori tecnologici (figura 1.1):
 Computer Aided Design (CAD)
 Computer Aided Manufacture (CAM)
 Computer Aided Test (CAT)
 Pianificazione e controllo delle lavorazioni
 Tecnologie di processo
 Robotica
 Movimentazione automatica dei materiali
L'integrazione tra i settori implica inoltre un potente sistema di comunicazione.
Pag. 3
PLC e Automazione Industriale
CAD
Computer
Aided
Design
CAM
Computer
Aided
Manufacture
Movimentaz.
automatica
dei materiali
CIM
CAT
Computer
Aided
Test
Robotica
Tecnologie
di processo
Pianificazione
e controllo
delle
lavorazioni
Figura 1.1
1.1 Computer Aided Design (CAD)
Con il termine CAD spesso ci si riferisce unicamente alla rappresentazione di un
prodotto sullo schermo di un computer, con la possibilità di rapide modifiche a seconda
delle nuove esigenze: questa interpretazione autonoma del CAD risulta limitativa in
ottica CIM, dove l'integrazione tra le tecnologie svolge un ruolo determinante.
Il CAD in configurazione "stand-alone" consente un incremento di produttività grazie
allo svolgimento automatico di lavoro di calcolo, di disegno e di altri mansioni di
routine. L'utilizzo di programmi di test e simulazione, presenti nei sistemi CAD,
consente di incrementare la qualità del progetto e di snellire i tempi di aggiustamento e
debug. Un ulteriore vantaggio si ottiene dalla realizzazione di una base dati di progetto,
in modo da realizzare nuovi progetti utilizzando al meglio le informazioni relative ai
progetti già sviluppati.
Ulteriori vantaggi derivano dall'integrazione di un sistema CAD in un completo
sistema CIM, poiché i dati di progetto possono essere messi a disposizione degli altri
settori aziendali. Così ad esempio se vi è integrazione tra i dati di progetto e gli ordini di
acquisto, è possibile ottenere stime dei costi materiali di un ipotesi di progetto e
analogamente se vi è integrazione tra i dati di progetto e l'utilizzo di personale e
macchinari è possibile ottenere stime dei costi di manodopera. Un sistema CAD
integrato consente inoltre una drastica riduzione dei costi di gestione dell'inventario,
grazie alla standardizzazione dei componenti (razionalizzazione della progettazione) in
base alle esigenze d'acquisto e di gestione di materiali e lavorazioni. In generale l'output
di un sistema CAD è costituito da schemi, disegni, elenchi componenti e comunque
oggetti su supporto cartaceo: tra gli obiettivi CIM vi è anche quello di portare
all'eliminazione dei supporti cartacei e dei relativi passaggi tra i vari settori aziendali. In
questo modo ad esempio la pianificazione dei processi produttivi avviene
automaticamente sulla base dei dati di progetto e analogamente gli ordini di acquisto dei
materiali vengono emessi in base agli elenchi componenti già residenti nei sistemi CAD.
Pag. 4
PLC e Automazione Industriale
1.2 Computer Aided Manufacture (CAM)
Il termine CAM viene utilizzato per indicare l'insieme delle funzioni computerizzate
coinvolte nell'effettiva trasformazione di materiali grezzi in prodotti finiti; in termini più
usuali si parla di sistemi a controllo numerico. Le macchine a controllo numerico (torni,
centri di lavorazione, macchine utensili con controllo a microprocessore,..) in
configurazione "stand alone", cioé vincolate alla presenza di un operatore, hanno
rappresentato il primo passo significativo nel processo di automazione dell'industria
meccanica: tuttavia oggi in contesto CIM si parla di DNC (controllo numerico diretto),
intendendo macchine a controllo digitale direttamente interfacciate ad un elaboratore di
supervisione.
Più in generale un supervisore è un computer industriale nella cui memoria sono
presenti molti programmi, tutti pronti per essere trasmessi in tempo reale ai singoli
controlli delle macchine utensili. Il colloquio tra supervisore e macchine utensili è
bidirezionale: infatti il supervisore dispone di una vasta gamma di dati che vengono via
via raccolti con il procedere delle lavorazioni e quindi può mantenere un costante
monitoraggio della produzione (numero di pezzi prodotti per macchina, tempi di fermo,
utilizzo degli utensili,...). Per aumentare la disponibilità della linea di produzione in
caso di guasto del supervisore, si tende a prevedere o una semplice e veloce
commutazione delle macchine utensili in configurazione "stand-alone" o uno o più
computer supervisori di riserva, interfacciati in tempo reale al supervisore principale
così da poter intervenire immediatamente all'atto del malfunzionamento; spesso i
computer di riserva vengono utilizzati contemporaneamente per lo sviluppo del software
che verrà poi inviato al supervisore attivo.
I primi raggruppamenti DNC di macchine, per la loro struttura relativamente
semplice, hanno trovato applicazione nelle catene di montaggio caratterizzate da bassa
varietà di pezzi e alti volumi; quando il raggruppamento di macchine DNC è in grado di
essere programmato inizialmente per produrre un certo tipo di componente, per poi
passare ad un tipo differente senza alcun intervento dell'operatore, si parla di sistema
flessibile di lavorazione (FMS, Flexible Manufacturing System).
I sistemi FMS sono adatti alla produzione di una grande varietà di pezzi con bassi
volumi, in quanto vengono praticamente eliminati i tempi necessari per l'approntamento
delle macchine al mutare delle lavorazioni: i pezzi da lavorare vengono predisposti non
necessariamente nelle vicinanze delle macchine utensili e la loro movimentazione
automatica avviene in modo da ottimizzare il tempo tra il completamento della
lavorazione di un pezzo e l'inizio della successiva. Un'installazione FMS consente
un'attività continua di più di otto ore, ma implica processi di identificazione,
immagazzinaggio e movimentazione automatica di pezzi e utensili, oltre al
monitoraggio costante dell'intero processo. Il supervisore di un sistema FMS rappresenta
l'elemento di maggior criticità e quindi sono frequentemente utilizzati sistemi ridondanti
in logica di controllo reciproco (Es. logica due su tre).
I controlli numerici sono oggi molto sofisticati e realizzati per lavorazioni in assenza
di intervento diretto da parte dell'operatore, per cui la funzione più critica consiste nella
programmazione dei pezzi (part-programming) e, poiché tali dati sono gestiti dai sistemi
CAD, si può dire che il maggior problema degli attuali sistemi è l'integrazione tra CAD
e CAM. Alcuni sistemi, detti CAD/CAM, sono concepiti per la progettazione e la
Pag. 5
PLC e Automazione Industriale
programmazione con l'utilizzo dello stesso elaboratore: in realtà ciò che è indispensabile
per l'integrazione è l'esistenza di una base comune di dati. Il programmatore deve poter
accedere al progetto nelle sue diverse componenti e poter generare un programma
riferito a utensili, macchine, specifiche varie; tale programma, spesso scritto in
linguaggio APT (Automatically Programmed Tools), è di tipo generale e cioé non si
riferisce ad una particolare macchina utensile e il file generato deve subire una fase di
"post-processing" per essere convertito in un codice adatto alla particolare macchina
utensile impiegata.
1.3 Computer Aided Test (CAT)
Con il crescere della complessità della componentistica elettronica, si è determinato
lo sviluppo di una nuova tecnologia di collaudo basata su sistemi di controllo
computerizzato (CAT). Infatti il collaudo di un singolo circuito integrato spesso
comporta la verifica di una vasta gamma di funzioni e prestazioni e di conseguenza il
collaudo di schede elettroniche rappresenta uno dei compiti più complessi ed è il banco
di prova dei sistemi automatici di test.
Non è solo importante individuare i possibili malfunzionamenti, ma risulta di
fondamentale importanza individuarli il più presto possibile, nelle fasi preliminari del
ciclo di produzione, poiché i costi di eliminazione degli stessi crescono a ogni fase del
test: ad esempio i costi di riparazione di una scheda sono circa dieci volte superiori a
quelli di riparazione o sostituzione di un componente. A questo problema si può ovviare
utilizzando componenti con determinati requisiti di qualità, ad esempio stabilendo con i
fornitori degli standard qualitativi sui componenti anche a fronte di maggiori costi
d'acquisto (piccoli/medi volumi), o in alternativa effettuare dei test di accettazione su un
campione dei componenti acquistati (grandi volumi).
Per verificare la corretta funzionalità di una scheda a componenti elettronici si
forniscono determinati input e si osservano i relativi output; questo metodo risulta
troppo lungo per schede di tipo complesso o che ospitano componenti VLSI, e ulteriori
complicazioni sorgono alla necessità di una precisa localizzazione del guasto e pertanto
l'automatizzazione di tale procedure è una necessità per l'accelerazione dell'intero
processo e una maggiore accuratezza.
Data la complessità e le prestazioni dei dispositivi integrati, l'elaboratore addetto al
test automatico deve essere veloce e potente, tuttavia il più consistente abbattimento dei
costi di test di una scheda si ha coinvolgendo i progettisti di hardware in tutto ciò che
può rendere più semplice ed efficiente l'esecuzione di un test (testability) e cioé
nell'integrazione delle fasi di progetto e collaudo; strumenti CAD che consentono la
simulazione e la generazione automatica di programmi di test per i circuiti progettati,
consentono un'analisi preliminare della testability di un progetto. Già in fase di
progettazione si tende a definire programmi di test automatico con copertura di circa il
98% e cioé programmi che consentono l'individuazione del 98% delle possibili cause di
malfunzionamento.
Gli elaboratori addetti al CAT devono essere interfacciati alla scheda mediante un
letto di chiodi (bed of nails), che è costituito da una matrice di sonde aghiformi a passo
fitto, meglio definibili come nodi, in modo da garantire l'accesso ad ogni parte del
circuito.
Pag. 6
PLC e Automazione Industriale
I vantaggi derivanti da un uso integrato del CAT non si limitano alla fase di test;
grazie ad un collegamento tra computer centrale e stazioni di test, è possibile ottenere
diverse statistiche sulle percentuali di guasto e le loro tipologie: tali dati possono essere
utilizzati per un'eventuale ottimizzazione del progetto e del processo produttivo.
Per schede ad elevata complessità, specie se dotate di intelligenza propria, spesso si
adottano tecniche di autodiagnostica direttamente implementate sulla scheda (built-in
test): così ad esempio può essere lo stesso microprocessore di scheda ad inviare stimoli
agli altri componenti analizzandone l'output. Agli evidenti vantaggi economici
dell'autodiagnostica si contrappone un più elevato costo di progettazione e sviluppo del
software di test e, in genere, una minore copertura (ad esempio l'autodiagnostica non
copre i malfunzionamenti a livello di microprocessore, oscillatore al quarzo,
alimentazione, memoria di programma,...).
1.4 Pianificazione e controllo delle lavorazioni
La pianificazione e il controllo dei processi di lavorazione sono strettamente connessi
all'organizzazione delle risorse di produzione (macchinari, personale,..), con l'obiettivo
di una gestione degli ordini dei clienti efficiente e rigorosamente aderente alle
tempistiche e di un continuo controllo dei costi di produzione. Ad esempio anche i
migliori sistemi di CAD/CAM/CAT non consentono il rispetto dei programmi di
produzione nei limiti di costo ottimali senza una adeguata organizzazione e
pianificazione delle varie attività. Tra le principali funzioni di un sistema globale di
pianificazione e controllo si trova:

Controllo del magazzino

Catalogazione dei materiali

Pianificazione del fabbisogno dei materiali

Programmazione generale della produzione

Pianificazione delle operazioni di manutenzione e controllo qualità

Controllo dei reparti

Valutazione del costo del lavoro

Gestione degli ordini dei clienti

Pianificazione delle risorse finanziarie

Contabilità
I vantaggi consistono principalmente nella riduzione delle scorte dei materiali, dei
costi di lavorazione e degli straordinari.
Il più classico degli obiettivi da tener presente nell'implementazione dei sistemi di
pianificazione e controllo delle lavorazioni è il rispetto della filosofia "Just-in-time".
Nata in Giappone, la filosofia "Just-in-time" prevede che ogni processo nel ciclo
produttivo si verifichi "appena in tempo" per l'attuazione del successivo: le materie
prime arrivano "appena in tempo" per essere inviate alla prima macchina del ciclo di
lavorazione, l'assemblaggio finale e il collaudo del prodotto finito sono effettuati
"appena in tempo" per il successivo inoltro al cliente,.... Il vantaggio più evidente è una
riduzione del magazzino (prodotti finiti, semilavorati e materie prime); un ulteriore e
non meno importante vantaggio si ha nell'incremento della qualità del prodotto finito,
ottenuto con la riduzione dei prodotti intermedi.
La programmazione generale della produzione è la più classica delle funzioni di
pianificazione, in quanto definisce quali e quanti prodotti devono essere realizzati in un
Pag. 7
PLC e Automazione Industriale
dato periodo di tempo in base agli ordini clienti e alle previsioni di vendita; vi deve
quindi essere una stretta interazione con la funzione aziendale preposta alla
pianificazione commerciale e con l'ufficio vendite. L'integrazione con i sistemi CAD si
basa essenzialmente su una catalogazione comune di materie prime, semilavorati e
prodotti, in modo da poter individuare i componenti di specifiche parti, così come le
parti contenenti specifici componenti, e poter pianificare "just-in-time" acquisti e
lavorazioni. La gestione del magazzino di un'azienda deve essere tale da ridurre al
minimo l'immobilizzo di capitale sotto forma di giacenze (materie prime, componenti,
semilavorati, prodotti finiti, utensili, pezzi di ricambio per i macchinari,..) senza
incorrere in carenze di scorte. Oggi la maggior parte delle aziende gestisce il magazzino
mediante computer, il che consente di conoscere in qualsiasi momento le giacenze e, per
ciascun elemento, le informazioni gestionali come dettagli tecnici, tempi di acquisto,
costi, quantitativi in ordine, scarti,..; ovviamente più che un singolo computer la
strategia CIM prevede un sistema informativo dove a ciascun elemento corrisponde una
base di dati raccolti e gestiti da vari reparti (magazzino, ufficio tecnico, ufficio
acquisti,..). Il classico metodo della determinazione del livello di "allarme" (quando la
giacenza scende sotto un livello prestabilito si procede a nuovi ordini) è tuttora valido
per le scorte di prodotti finiti e di pezzi di ricambio dei macchinari; per gli altri tipi di
scorte (materie prime, semilavorati,..) è diventata d'uso corrente la pianificazione dei
materiali (MRP, Material Requirements Planning). Il metodo MRP si pone come
obiettivo di organizzare il rinnovo delle scorte in funzione delle future esigenze
produttive; gli addetti devono quindi poter accedere ai piani di produzione (quantitativi
e tempistiche dei prodotti da realizzare), all'elenco dei materiali e ai registri di
magazzino (Figura 1.2).
Ordini
clienti
Previsioni
di vendita
Rifornimento
pezzi
dall’esterno
Modifiche
tecniche
Piano
generale di
produzione
Operazioni
magazzino
Archivio
elenco
materiali
MRP
Archivio
registrazioni
magazzino
pezzi
dall’esterno
Rapporti
finali
Figura 1.2
Gli elaboratori addetti alla pianificazione dei fabbisogni lavorano su file di grosse
dimensioni e quindi richiedono molto tempo di calcolo: in genere i programmi di MRP
vengono attivati durante il fine settimana e quindi con cadenza minima settimanale.
1.5 Tecnologie di processo
Pag. 8
PLC e Automazione Industriale
La pianificazione dei processi (CAPP, Computer Aided Process Planning), quindi il
collegamento tra CAD e CAM, rappresenta l'elemento più avanzato nell'ambiente CIM.
Ogni nuovo prodotto necessita di una pianificazione dei processi: si tratta di pervenire
ad un dettaglio delle lavorazioni necessarie, con la realizzazione di un documento che
contiene informazioni quali:
 Elenco delle materie prime necessarie alla lavorazione completo di dati inerenti
forma, dimensione,..
 Elenco delle operazioni da effettuarsi, le macchine necessarie e la sequenza di
impiego
 Utensili e supporti da utilizzarsi nell'ambito di ogni operazione
 Velocità di lavoro e, più in generale, condizioni di lavoro di ogni macchina
 Parametri di processo quali temperatura, pressione,..
 Ispezioni e controlli necessari
 Tempistica delle diverse operazioni e dei diversi passaggi
Tali informazioni vengono utilizzate da diversi reparti: l'ufficio incaricato della
realizzazione del software necessita del piano di processo per sapere quali macchine
programmare e per quale funzione, l'ufficio preposto alla programmazione della
produzione deve assegnare i lavori alle macchine, mentre gli analisti devono poter
calcolare i costi di produzione.
In un ambiente CIM ideale, i dati di progetto nati in ambito CAD potrebbero essere
automaticamente convertiti in piano di processo, successivamente organizzabile in base
di dati accessibile a quanti ne abbiano necessità (Figura 1.3).
CAD
Pianificazione di processo
Progetto
Disegno
Sistema esperto
base dati
CAD
- base di conoscenza
- logica di decisione
Analisi
Sistema esperto
base dati
processo
CAM
Controllo di
macchina (CNC,
DNC)
Movimentazione
utensili
Controllo di
reparto
- operazioni
- macchine
- utensili
- parametri
- istruzioni
Figura 1.3
La pianificazione di processo, manuale o assistita dal computer, può essere di tipo
"variante" o di tipo "generativo". Nel primo caso ci si basa sulla similitudine che è
possibile riscontrare tra i pezzi prodotti in un'azienda con quelli già prodotti nel passato
e quelli previsti per il futuro: si vengono a creare delle famiglie di pezzi caratterizzate da
processi standard, e per ogni nuovo pezzo il pianificatore determina la famiglia di
appartenenza e definisce le modifiche da apportarsi al processo. L'approccio di tipo
"generativo" consiste invece nello sviluppo di un piano di processo a partire dai dati
grezzi desunti dal progetto: si elimina la necessità di un operatore con elevata esperienza
Pag. 9
PLC e Automazione Industriale
aziendale a discapito dei tempi di pianificazione di processo. Sebbene l'approccio
"variante" sembri più vantaggioso, può creare delle difficoltà: ad esempio per un'azienda
che gestisce centinaia di tipi di pezzi è più rapido progettare dal nulla un nuovo pezzo e
il relativo processo, piuttosto che cercare l'eventuale presenza di un pezzo identico o
anche solo simile.
Per ovviare a questo problema si è andata affermando la filosofia a tecnologia di
gruppo (GT, Group Technology), che sfrutta le similitudini esistenti tra le varie parti da
sottoporre a lavorazione, basandosi su un sistema di codifica e catalogazione dei pezzi
comune a più aree applicative (progettazione, pianificazione di processo, gestione delle
scorte, fabbrica,...). La codifica comprende l'individuazione di vari attributi in modo da
consentire il raggruppamento dei pezzi in base a varie esigenze: similarità di progetto,
modalità di lavorazione,... Tipici attributi presenti in un sistema di classificazione GT
sono:

Forma esterna e interna, dimensioni e tolleranze

Finiture

Tipo di materiale

Funzione del pezzo

Macchinari e utensili richiesti

Sequenza delle operazioni e relative tempistiche

Dimensione del lotto di produzione

Produzione annua
La filosofia GT influisce anche sul layout della fabbrica: con la costituzione delle
celle GT, macchinari diversi vengono riuniti in modo da ottimizzare il percorso di
lavorazione di un gruppo di pezzi, mentre secondo le tecniche classiche di layout tutti i
torni occupano una specifica area, tutte le frese un'altra e così via; con le celle GT, oltre
ad ottenere una sensibile riduzione dei tempi di lavorazione complessivi, è virtualmente
possibile eliminare i tempi di attrezzaggio per nuovi lotti.
1.6 Robotica
Un robot è un manipolatore programmabile multifunzione, progettato per spostare
materiali, pezzi, utensili o specifici dispositivi, con sequenze di movimento variabili,
per l'attuazione di una certa varietà di operazioni. Basato su un sistema a
microprocessore, un robot non solo è in grado di eseguire lavorazioni in modo
automatico ma, se dotato degli opportuni sensori, può anche reagire a modifiche
ambientali, ricevendo e trasmettendo dati inerenti il suo funzionamento. L'introduzione
del robot consente la riduzione dei costi di manodopera, un miglioramento della qualità,
della produttività e delle tempistiche. Tuttavia i costi di investimento iniziale vengono
correttamente ammortizzati se il robot viene tenuto sufficientemente occupato; da qui la
necessità di poter attribuire al robot mansioni diverse (versatilità del robot). Inoltre per
far fronte alla velocità con cui il robot funziona, i vari pezzi devono entrare e uscire
dalla sua area operativa alla medesima velocità, per cui il robot diventa una scelta
economicamente molto vantaggiosa se viene utilizzato relativamente a diversi progetti e
se viene inserito in un ambiente CIM di pari livello tecnologico.
Il costo di un robot corrisponde solo al 30% del costo complessivo di un sistema
robotizzato; le periferiche incidono per il 30% e il rimanente costo deve essere ripartito
Pag. 10
PLC e Automazione Industriale
tra costi del sistema di movimentazione, addestramento del personale, costi di
installazione.
Tralasciando le classificazioni tecniche, i sistemi robot possono essere suddivisi in
due categorie: alti volumi/scarsa varietà e bassi volumi/grande varietà. Per verificare
differenti soluzioni adottabili per un'applicazione che utilizzi sistemi robot, è di grande
aiuto la simulazione computerizzata che, oltre a consentire la rappresentazione su
schermo della soluzione in esame, mette a disposizione una serie di dati sulle
prestazioni del robot, sull'adeguatezza dei livelli di produttività, sulla verifica delle
strozzature del sistema di movimentazione,...
Ciascun robot possiede una sua unità di controllo che, nell'ambito di un sistema di
automazione, dovrà scambiare dati e informazioni con altri sistemi presenti, come ad
esempio il sistema di movimentazione e più in generale il computer supervisore di cella.
1.7 Movimentazione automatica dei materiali
Un sistema di movimentazione dei materiali incorpora generalmente una funzione di
immagazzinamento e una funzione di trasporto: è stato calcolato che un prodotto passa
circa il 95% del suo tempo a spostarsi per l'azienda in attesa di attività o lavorazione ad
esso connesse e il 3% in operazioni di carico/scarico, per cui alla fine si arriva ad una
percentuale del 98% per attività riguardanti il flusso del materiale. Vi sono quindi
ottime motivazioni per un miglioramento al riguardo.
L'automazione in questo settore prevede un sistema di deposito e
approvvigionamento automatizzato (ASRS, Automated Storage & Retrieval System),
detto anche magazzino automatizzato, e un sistema di veicoli a guida automatica
(AGVS, Automated Guided Vehicle System), utilizzato per il trasporto dei pezzi verso
aree differenti di una fabbrica. I principali vantaggi dovuti all'introduzione
dell'automazione in questo settore sono:
 maggior controllo delle operazioni
 riduzione dei costi e delle tempistiche
 ottimizzazione dell'uso dello spazio per i magazzini (impilamenti più alti, corridoi
più stretti,..)
I sistemi di movimentazione automatica sono controllati da sistemi a
microprocessore programmabili e pertanto possono gestire prodotti diversi:
l'integrazione con i sistemi CAM diventa un requisito essenziale nella filosofia FMS
(vedi 1.2 Computer Aided Manufacture). Rispetto ai tradizionali trasporti su rotaia
oppure ai convogliatori, la soluzione AGVS è decisamente più flessibile, data la scarsa
dipendenza dal tipo di pavimentazione e dalla configurazione degli ambienti. Un AGV è
in sostanza un elemento di trasporto programmabile, autoalimentato a batteria, guidato
da cavi inseriti nel pavimento (nastro chimico) o da sensori (infrarossi) e spesso
collegato ad un computer supervisore con il quale scambia informazioni in tempo reale.
Realizzati in forme e misure diverse per trasportare carichi leggeri o pesanti, alcuni
AGV sono concepiti per trainare i loro carichi, mentre altri li trasportano effettivamente;
possono essere meccanicamente semplici o incorporare complessi meccanismi di
sollevamento e movimentazione.
Sebbene in ottica "Just-in-time" sia idealmente possibile eliminare l'uso del
magazzino, la realtà industriale, resa complessa da guasti alle macchine, situazioni di
Pag. 11
PLC e Automazione Industriale
emergenza, ecc., non consente una completa eliminazione della funzione magazzino.
Per un corretto inserimento in ambito CIM, i magazzini automatici, generalmente più
diffusi in aziende con prodotti voluminosi e pesanti, devono rispettare certi vincoli:
come prima cosa, deve esistere una flessibilità tale da consentire l'immagazzinamento di
oggetti diversi; poi deve essere possibile l'individuazione di specifici oggetti a richiesta,
sia in base a istruzioni impartite manualmente, sia da computer supervisore; infine è
fondamentale un'alta produttività. Un sistema ASRS, capace di operare in assenza di
personale e di interfacciarsi direttamente al computer supervisore e agli AGV, consente
un aumento di efficienza complessivo, in termini aumento della qualità
dell'immagazzinamento, di riduzione dell'occupazione di spazio al suolo (più del 50%) e
di riduzione dei tempi di approntamenti dei materiali.
Un sistema ASRS+AGVS dedicato all'utensileria assume un ruolo importante in ogni
ambiente FMS; in figura 1.4 si vede un sistema FMS con un magazzino utensili e un
sistema ASRS, entrambi serviti da un AGV.
Figura 1.4
Ogni ASRS deve poter comunicare in tempo reale con un computer supervisore
integrato nella rete aziendale, in modo da poter operare in tempo reale con i computer
addetti al CAM e poter aggiornare i quantitativi delle giacenze in base ai volumi in
ingresso e in uscita. Un sistema ASRS potrebbe idealmente superare la necessità
dell'identificazione cartacea dei pezzi (l'identificazione risulta dalla collocazione),
Pag. 12
PLC e Automazione Industriale
tuttavia data la possibilità di malfunzionamenti degli apparati elettronici o meccanici i
pezzi vengono comunque identificati (tipicamente etichettatura con codice a barre).
Prima di effettuare un'istallazione ASRS o AGVS è opportuno disporre di un adeguato
sistema computerizzato di simulazione.
Pag. 13
PLC e Automazione Industriale
2. I Sistemi Distribuiti
2.1 Dai sistemi centralizzati a quelli distribuiti
L’uso dei calcolatori è nel bel mezzo di una rivoluzione. Dal 1945, quando cominciò
l’era dei calcolatori moderni , fino a circa il1985 , i calcolatori erano grandi e costosi e
perfino i minicalcolatori costavano decine di migliaia di dollari ciascuno . Come
risultato , nella maggior parte dei casi , il numero di calcolatori di una organizzazione
era esiguo , e poiché non c’era modo di collegarli , questi calcolatori di solito
operavano in modo indipendente l’uno dall’altro. A partire dagli anni ottanta , due
innovazioni tecnologiche cominciarono a cambiare questa situazione.
La prima fu lo sviluppo di potenti microprocessori. Inizialmente si trattava di
macchine a 8 bit, ma presto divennero comuni CPU a 16,32,e perfino 64 bit; molte di
esse avevano la potenza computazionale di un mainframe di decenti (cioè grandi)
dimensioni , ad una piccola frazione del suo prezzo.
La seconda innovazione fu l’invenzione di reti locali o LAN (local area network) ad
alta velocità. Questi sistemi permettevano il collegamento di dozzine, centinaia, di
macchine in modo tale che piccole quantità di informazioni potessero essere scambiate
in circa un millisecondo. Quantità maggiori di dati possono essere trasferite tra le
macchine a ritmi maggiori di 10 milioni di bit al secondo.
Il risultato di queste due tecnologie è che ora è non solo possibile, ma anche facile,
mettere insieme sistemi di calcolo composti da un gran numero di CPU connesse da una
rete ad alta velocità. Questi sistemi vengono di solito chiamati sistemi distribuiti , in
contrapposizione ai precedenti sistemi centralizzati formati da una sola CPU, dalla sua
memoria , dalle periferiche e da alcuni terminali.
Il fatto che sia possibile costruire sistemi distribuiti porta a vantaggi e a svantaggi;
tra i vantaggi si possono enumerare: la distribuzione intrinseca di alcune applicazioni
che richiedono macchine separate e distanti, affidabilità, scalabilità, modularità, la
crescita incrementale, la condivisione dei dati, la comunicazione in tempo reale…;
sebbene i sistemi distribuiti abbiano i loro punti di forza , essi hanno anche i loro punti
deboli , il principale dei quali è il software, molto piu’ complesso che non quello dei
sistemi centralizzati.
Come si è visto esaminando i vari settori del CIM, il vantaggio dell'automazione e
della gestione computerizzata dei reparti è strettamente legato al concetto di
integrazione e cioé una struttura aziendale viene snellita e resa più efficiente se i
computer relativi ad una funzione possono comunicare in tempo reale con i computer
relativi ad altre funzioni e magari dislocati in aree differenti. Ad esempio i computer
addetti all'interfaccia uomo-macchina devono poter accedere a dati di tipo e provenienza
diversa e tale "accesso" deve avvenire in tempo reale; infatti per poter intervenire o
anche solo analizzare un processo è necessario disporre dei dati più recenti in modo da
poterli correlare correttamente.
Pag. 14
PLC e Automazione Industriale
2.2 Organizzazione dei sistemi distribuiti in azienda
Solitamente troviamo almeno quattro livelli gerarchici in un sistema di comunicazione
in ambito CIM (vedi figura 2.1).
Controllo
societario/finanziario
Livello 4
Controllo
azienda/fabbrica
Livello 3
Direzione di settore
Direzione di settore
Rete locale
Livello 2
Controllo
di cella
Bus di campo
Controllo
di cella
Livello 1
Figura 2.1
Tali livelli sono spesso indicati come:
AZIENDA
(differenti fabbriche che possono trovarsi in località diverse, pur nell'ambito della
stessa organizzazione aziendale, devono essere tra loro interconnesse)
 FABBRICA
(tutti i minicomputer di ogni reparto devono essere tra loro collegati per consentire
un efficiente scambio di dati)
 REPARTO
(il minicomputer di ciascun reparto o ufficio deve coordinare le attività complessive
di tutti i sistemi computerizzati presenti nel reparto stesso)
 ISOLE
(ogni parte delle attrezzature controllate da computer, macchine utensili, robot,
terminali CAD, elaboratori testi, unità di programmazione,... deve poter comunicare
in modo efficiente e rapido a seconda del settore applicativo)

Nel caso si analizzi l’organizzazione CIM del solo reparto di produzione di una azienda
manifatturiera, è possibile individuare la tipica struttura, detta piramide CIM, visibile in
figura.
Pag. 15
PLC e Automazione Industriale
Figura 2.2
E
ERP
SCADA
PLC
SENSORI - MOTORI
Tipicamente in questo ambito il livello 1 è costituito dai trasduttori (finecorsa,
sensori, encoder,…) e attuatori (relè, motori, elettrovalvole, spie di segnalazione,…)
posti sull’impianto di produzione ; a livello 2 ci sono i controllori di cella (es. PLC) che
controllano sensori e trasduttori ai quali sono collegati direttamente o tramite bus di
campo. Tutti i PLC che coordinano le varie celle di un reparto di produzione sono
collegati fra loro tramite rete locale alla quale si connette anche un sistema SCADA di
supervisione(livello 3). A livello 4 ho sistemi ERP/MES che elaboreranno i dati di
produzione e li presenterà in una forma adeguata al management, prelevandoli da tutti i
sistemi SCADA della fabbrica ai quali sono connessi, sempre tramite LAN.
Qui di seguito ci occupiamo dei protagonisti odierni dei livelli quattro e tre , dando
spazio nei prossimi capitoli a quelli dei livelli inferiori.
ERP (Enterprise Resource Planning)
E’ un sistema applicativo gestionale in grado di riunificare la visione e la gestione di
tutte le attività di un’impresa realizzando una totale integrazione di tutti i processi di
business.
In altre parole un sistema ERP, rispetto ai tradizionali sistemi gestionali, non si
occupa solamente dell’aspetto amministrativo/finanziario dell’impresa ma si estende a
tutte le aree aziendali permettendo una visione globale e integrata utile per effettuare
rapide e corrette scelte manageriali.
Sinteticamente un sistema ERP si occupa di finanza, amministrazione, controllo,
reporting, pianificazione, produzione, manutenzione degli impianti produttivi, logistica,
gestione della qualità e molto altro ancora.
Per tutti questi ambiti, qualora risultino collegati ad attività dell’area produttiva,
esistono modelli che prevedono un feed back in tempo reale dalla stessa, al fine di
allineare e ricalcolare in modo specifico le analisi effettuate sui dati teorici.
Pag. 16
PLC e Automazione Industriale
Questo collegamento con il mondo della produzione è realizzato tramite connessione
LAN verso i sistemi SCADA che supervisionano l’impianto.
MES (Manufactoring Execution Systems)
E’ anche questo un sistema applicativo gestionale, come l’ERP, ma si focalizza
maggiormente sulle informazioni che consentono l’ottimizzazione delle attività
produttive, dall’immissione dell’ordine al prodotto finito.
Molto spesso si presenta come un modulo aggiuntivo integrato in un sistema ERP di
più alto livello.
E’ un sistema che risulta particolarmente prezioso per la gestione operativa, infatti le
sue funzioni comprendono l’assegnazione e lo stato delle risorse, la gestione della
qualità, la gestione della manutenzione agli impianti, l’analisi delle prestazioni, la
gestione della manodopera, la gestione dei processi e la gestione della genealogia dei
prodotti.
SCADA (Supervisory Control And Data Acquisition)
Consiste in un sistema che consente di acquisire dati, sorvegliare e controllare
svariate funzioni e processi remoti distribuiti nello spazio, da una postazione
centralizzata. Il cuore di un sistema SCADA è costituito dall’Host System, di solito
basato su una piattaforma PC o workstation, che si occupa della raccolta dati e la
gestione delle funzioni di controllo.
L’Host System si interfaccia da un lato con i controllori di cella (PLC), dall’altro,
mediante reti di comunicazione, con l’architettura software di più alto livello (ERP).
Nelle architetture SCADA moderne è sempre più diffusa la presenza di sistemi
software client-server, dove più stazioni client su rete LAN utilizzano un unico server
come gestore di database e funzioni centralizzate.
Esistono in commercio numerosi pacchetti, anche di tipo visuale, che permettono lo
sviluppo di un sistema SCADA in modo semplice e veloce rendendo disponibili
numerose funzionalità:
-Gestione automatica del dialogo con le apparecchiature a livello di cella. Vista la
moltitudine di protocolli di comunicazione proprietari sviluppati dai produttori di PLC e
regolatori di processo, molto spesso vengono messi a disposizione driver integrati che
permettono la comunicazione (tramite interfacce seriali, schede speciali,…) con tali
apparecchiature. Non è eccezionale trovare sistemi SCADA che implementano in modo
nativo più di un centinaio di diversi driver per la gestione di altrettanti protocolli di
comunicazione; questo a dimostrare la poca inclinazione alla standardizzazione e
apertura da parte dei produttori di apparecchiature per l’automazione industriale. Per il
futuro si spera che si verifichi la convergenza verso un ristretto numero di bus di campo
standard (Profibus, Can, Interbus,…) e la nascita di una interfaccia software standard
per lo scambio dei dati fra i sistemi (OPC-Ole for Process Control).
-Gestione della interfaccia con l’operatore, in genere realizzata a mezzo di sinottici
che facilitano la supervisione d’impianto al personale preposto. In genere sono presenti
notevoli capacità di tipo grafico che permettono anche semplici animazioni.
-Gestione dei messaggi e delle anomalie dalle varie celle supervisionate. Spesso è
possibile accompagnare alla descrizione della anomalia occorsa, le possibili cause che
l’hanno generata e immagini o filmati che possono aiutare l’utente nella rimozione della
anomalia e nella ripartenza dell’impianto. Generalmente si ha anche una gestione
Pag. 17
PLC e Automazione Industriale
automatica degli storici (lista in ordine cronologico delle anomalie occorse) con
possibilità di ricerche, statistiche e report da cui è possibile estrapolare le informazioni
dei tempi di fermo macchina/impianto.
-Gestione della raccolta in tempo reale dei dati dal campo. Questi possono essere
elaborati direttamente dallo SCADA oppure possono essere passati all’ERP che li
elaborerà autonomamente in modo da estrarre le informazioni volute. Nel primo caso i
dati possono essere mostrati su grafici, sia temporali (trend) che di altro tipo, e possono
essere estrapolate le principali caratteristiche statistiche del processo (media, scarto
quadratico medio, varianza, ...). Tutte queste informazioni possono essere inserite in una
base dati per la costituzione di uno storico in cui, per ciascun lotto di produzione,
vengono memorizzati i parametri caratteristici del prodotto. In alcune applicazioni (per
esempio nella produzione di particolari meccanici per automobili) è addirittura
obbligatorio mantenere questi dati per un certo numero di anni (in genere da 5 a 10 anni)
in modo tale che, al verificarsi di un particolare problema su un pezzo prodotto,
conoscendo il lotto di produzione, si riesca a ricostruire il processo produttivo a cui è
stato sottoposto quel pezzo e a rintracciare gli altri lotti che hanno subito un trattamento
simile.
-Retroazioni automatiche sul processo produttivo. Conoscendo i limiti di variabilità
sui principali dati acquisiti dal processo produttivo è possibile implementare dei test di
accettabilità sul prodotto e, nel caso di variazioni temporali lente che mostrano un trend
ben definito, è pure possibile operare direttamente delle retroazioni in tempo reale sul
processo (modifica di alcuni parametri di lavorazione,…) tali da ricentrare la banda di
variazione attorno alla media voluta. Naturalmente le azioni correttive intraprese
devono essere memorizzate in modo da assicurare la completa tracciabilità delle stesse.
-Gestione del riattrezzaggio dell’impianto. Molto spesso è necessario
riparametrizzare/riprogrammare le macchine nel caso in cui deve essere cambiata la
tipologia del prodotto. In genere viene data la possibilità di riattrezzare automaticamente
l’impianto tramite ricette predefinite memorizzate e gestite direttamente dallo SCADA.
Queste non sono altro che liste di parametri che devono essere spediti alle varie
macchine dell’impianto affinchè queste si predispongano alla corretta lavorazione del
nuovo prodotto.
-Tracciabilità (Tracking) in tempo reale del prodotto durante le varie fasi del ciclo di
lavorazione. In genere questa è una funzione resa disponibile in stretto contatto con il
sistema ERP che è in grado di seguire anche le varie componenti del prodotto
(tracciabilità partendo dai magazzini).
-Ambiente di programmazione a basso livello. Quasi tutti i pacchetti di sviluppo
SCADA mettono a disposizione un linguaggio di programmazione (molto spesso un
subset del C o BASIC) che permette la creazione di funzioni ad hoc non disponibili in
modo nativo nel pacchetto. Per esempio è possibile creare driver di comunicazione con
apparecchiature non supportate direttamente dallo SCADA.
Vista la flessibilità messa a disposizione da questi ambienti di sviluppo è necessario
seguire poche e semplici regole di progettazione che, se osservate, permettono di
ottenere un sistema SCADA effettivamente utile:
-Interfaccia operatore semplice e funzionale. Questa deve adattarsi all’effettiva capacità
dell’operatore e, in genere, deve essere il più possibile semplice e chiara, con pochi
Pag. 18
PLC e Automazione Industriale
comandi e un uso attento e non eccessivo della grafica e delle animazioni (lo SCADA
non deve essere un videogioco…).
-Tutti i dati gestiti devono essere memorizzati su basi dati facendo attenzione che il
formato usato sia standard. Questo facilita l’interfaccia verso il sistema gestionale e un
eventuale upgrade futuro del sistema.
-Architetture hardware (PC,…) e software (S.O. quali Linux/Unix e Windows) standard
e aperte. Usare protocolli e interfacce di comunicazione aperti.
-Privilegiare la qualità dei dati rispetto alla quantità. Sono più utili pochi dati, ma certi,
piuttosto che un gran numero di dati approssimativi.
-Minimizzare il passaggio di informazioni e dati su carta (report manuali e/o bolle di
lavorazione). A volte si rischia di instaurare un doppio binario per i dati, quelli forniti
dallo SCADA e quelli disponibili su supporto cartaceo. Questo porta a ridondanza (e
quindi spreco di risorse) con ovvi problemi di coerenza fra le due fonti di dati; alla fine
non si sa quale delle due è quella corretta.
-Implementare un semplice ma efficiente controllo sugli accessi. Vista l’importanza del
processo sotto controllo è necessario che solo chi è autorizzato possa accedere e
modificare i parametri del processo. E’ buona norma memorizzare tutti gli interventi e le
modifiche effettuate memorizzando data, ora e autore.
2.3 Sistemi di comunicazione : reti
Per l'implementazione di un sistema di comunicazione nell'ambito di un singolo
stabilimento, si fa normalmente uso delle reti locali (LAN, Local Area Network). Le
LAN sono reti private all’interno di un singolo edificio , di dimensione al piu’ di
qualche chilometro.Esse sono utilizzate per collegare i calcolatori ,le stazioni di lavoro
degli uffici o degli stabilimenti delle aziende per permettere la condivisione delle risorse
e lo scambio di informazioni. Le LAN si distinguono dagli altri tipi di rete (MAN
metropolitan area network, WAN wide area network...) per tre caratteristiche : (1) le
loro dimensioni ,(2) la loro tecnologia e (3) la loro topologia. Le LAN sono di
dimensioni ridotte (pochi Km) , che significa che il tempo peggiore di comunicazione è
limitato e conosciuto a priori; permettono velocità di trasmissione che vanno dai 10
a100 Mbps , fanno pochi errori , hanno un basso ritardo (decine di microsecondi). Le
LAN usano spesso una tecnologia di trasmissione ad un solo cavo al quale tutte le
macchine sono collegate (ma ci sono eccezioni); sono possibili differenti topologie per
le reti broadcast: a bus o ad anello.
I principali parametri che caratterizzano una LAN sono:

COMPATIBILITÀ
(la rete deve essere in grado di supportare una serie di dispositivi diversi –nodi- ed
eventualmente di collegarsi ad un'altra rete)
 ESPANDIBILITÀ
(la rete deve essere facilmente espandibile e riconfigurabile a costi contenuti)
 AFFIDABILITÀ
(L'intero processo di lavorazione dipende dal corretto funzionamento del sistema di
comunicazione: tutti gli elementi della rete -nodi, interfacce, mezzi trasmissivi,..Pag. 19
PLC e Automazione Industriale
devono essere progettati in modo tale che un guasto ad un componente agisca solo sul
nodo corrispondente, senza bloccare l'intera rete)
 PRESTAZIONI
(velocità di trasmissione dei dati, numero di utenze, lunghezza massima del mezzo ..)
2.3.1 Architettura ISO-OSI , TCP-IP
L'architettura di una rete locale, come di una qualsiasi altra rete , può essere descritta
in termini di architettura a strati secondo il modello OSI-RM (Open System
Interconnection Reference Model), definito nel 1978 dalla ISO (International Standard
Organization) e ispirato alla rete telefonica a lunga distanza. Tale modello stabilisce 7
livelli di descrizione (figura 2.3):

FISICO
Fa riferimento alla trasmissione dei singoli bit lungo un canale di trasmissione .
Definisce le caratteristiche elettriche e meccaniche degli interfacciamenti: un esempio di
definizione a livello fisico è costituita dagli standard EIA -RS232, RS422, RS485,..
DATA LINK
Tale livello ha il compito di svolgere diverse funzioni ; queste includono una buona
interfaccia di servizio al livello di rete , il raggruppamento dei bit del livello fisico in
pacchetti (data-frame), la gestione degli errori di trasmissione e la regolazione del flusso
dei pacchetti in modo che i riceventi lenti non siano travolti dai pacchetti dei mittenti
rapidi, evita collisioni per trasmissioni su singolo canale di piu’ utenti.
Ad esempio ,un pacchetto a questo livello potrebbe essere del tipo “ Flag(7EH) indirizzo(1 byte) –Messaggio(n bit) – Controllo(1 byte) – Flag(7EH)”.

RETE
Il livello di rete si occupa di trasmettere pacchetti dalla sorgente alla destinazione .
Per raggiungere la destinazione puo’ essere necessario attraversare lungo il percorso
diversi router. E’ una funzione diversa dal livello due , il quale ha il compito di portare i
pacchetti da un estremo all’altro di un cavo. Questo livello si occupa della trasmissione
tra nodi , punto-punto. Tale livello deve conoscere qualcosa sulla topologia della rete di
comunicazione e deve scegliere percorsi appropriati attraverso essa.

TRASPORTO
La funzione principale del livello di trasporto è di accettare dati dal livello superiore,
spezzarli in piccole unità se necessario , passare queste al livello di rete, e assicurarsi
che tutti i frammenti giungano correttamente a destinazione , ricostruendo i messaggi
indipendentemente dall’ordine di arrivo e dalla loro provenienza; deve inoltre gestire il
riconoscimento dei dati persi, il controllo del flusso e il controllo di congestione della
rete. Questo è un livello end-to-end , nel senso che gira solo sulle macchine mittente e
destinatario (i livelli inferiori devono girare su tutte le macchine).

SESSIONE
Pag. 20
PLC e Automazione Industriale
Si occupa di spezzare la trasmissione di un unico trasferimento in piu’ sessioni;
stabilisce la comunicazione tra gli utenti, verificando le autorizzazioni di accesso,
attribuendo i costi della comunicazione,..

PRESENTAZIONE
Stabilisce la conversione dei dati in formati utilizzabili da terminali video e
stampanti e cioé in una forma direttamente manipolabile dall'operatore
(ASCII,UNICODE).

APPLICAZIONE
E’ il livello di descrizione del programma utente.
Figura 2.3
Si sentirà parlare piu’ spesso di architetture, reti, backbone TCP/IP; questo perchè il
modello ISO-OSI nonostante sia ottimo e molto pulito concettualmente, ha poca valenza
pratica. In effetti non ha avuto molto successo e questo per quattro motivi: cattiva scelta
del momento, cattiva tecnologia, cattive implementazioni, cattiva politica. Nel frattempo
il modello TCP-IP si è affermato , non legato a malloppi di documenti, ma basato su
codice funzionante. Semplificando il discorso si può dire che esistono quattro livelli nel
modello TCP-IP : host-rete, internet,trasporto e applicazione . Da come si vede in figura
in questo modello mancano i livelli di presentazione e sessione del modello OSI , il
livello host-rete corrisponde ai primi due livelli dell’OSI . Ma la principale differenza è
che nel modello TCP-IP (1) sono stati standardizzati e vagliati solo i livelli di rete e di
trasporto che sono effettivamente le parti che servono e possono rimanere stabili per
piu’ tempo perché poco legate all’hardware, (2) si è lasciata ampia libertà nel definire i
protocolli a livello basso,sia a livello fisico che di linea .
Pag. 21
PLC e Automazione Industriale
Figura 2.4
2.3.2 Le Reti Industriali
Le reti presenti in ambiente industriale (ETHERNET, MAP-Manufactoring Automation
Protocol-, Field-bus,..) vengono per lo più descritte ai livelli più bassi (1,2), oltre al
livello di applicazione (7) del modello ISO-OSI.
L'automazione dei processi industriali tende a strutture impiantistiche decentrate
(figure 2.5 e 2.6); ciò significa che un complesso sistema di controllo centrale può
essere suddiviso in più parti di piccole dimensioni, il che consente di elaborare le
informazioni in modo più veloce direttamente laddove siano necessarie, oltre a
consentire una maggiore disponibilità degli impianti, poiché in caso di fuori servizio di
una parte del sistema tutto il resto continua a funzionare. La stessa logica vale anche per
i sistemi di comunicazione e pertanto si incontrano sempre più frequentemente sistemi
di comunicazione a più bus (sistemi di comunicazione multibus).
Tra i principali vantaggi di un sistema di comunicazione a bus ricordiamo la
possibilità di effettuare una qualsiasi comunicazione tra le stazioni interconnesse
(traffico dati incrociato a piacere), il ridotto onere di cavi grazie alla struttura a linee
comuni, la possibilità di ampliare il sistema, aggiungendo una o più stazioni, senza
dover modificare la struttura impiantistica già esistente. Il bus può essere a controllo
(arbitro) centralizzato o decentralizzato: nel primo caso il diritto di accesso al bus viene
gestito da un master centrale che quindi rappresenta il collo di bottiglia sia per le
prestazioni che per l'affidabilità o la disponibilità del sistema, nel secondo caso, il più
utilizzato, ogni stazione è in grado di gestire l'accesso al bus.
Fig.2.5
Pag. 22
Fig.2.6
PLC e Automazione Industriale
Per la rete di comunicazione a livello di cella o bus di campo (field bus) non esiste
ancora uno standard unico di riferimento, ma vari standard a livello nazionale; in
Germania e più in generale in Europa gli standard più diffusi sono Profibus, Interbus-S,
FIP. Di seguito si vuole fornire una breve panoramica dei più noti bus di campo
utilizzati per la comunicazione a livello di cella e a livello di sensori/attuatori.
Il BitBus, nato nel 1991 e noto anche come standard IEEE1118, consente la
connessione a 375kbit/s a un massimo di 28 utenti per lunghezze di collegamento fino a
1200m. Utilizza il protocollo SDLC di Ethernet e quindi il suo principale vantaggio
consiste nella “naturale” interfacciabilità verso il bus a livello superiore.
CANbus (Controller Area Network), è un standard ISO del 1985 nato per le esigenze
del settore “automotive” e poi approdato al più classico ambente industriale. Si tratta di
un bus semplice ed economico multi-master a rilevazione di collisione che consente la
connessione a un massimo di 32 utenti (50m a 1Mbit/s, 100m a 500kbit/s).
Interbus-S, nato nel 1984 e noto come DIN 19258, consente la connessione a
500kbit/s a un massimo di 256 utenti per lunghezze di collegamento fino a 400m per
stazione. La struttura del collegamento è ad anello anziché a stella e il protocollo è
autoconfigurante.
LonWorks, nato nel 1991, consente la connessione a 1.25Mbit/s a un massimo di 100
“nodi” per lunghezze di collegamento fino a 2000m. La caratteristica del protocollo è di
essere descritto a tutti i livelli ISO-OSI, cosa piuttosto insolita nei bus di campo. Il
protocollo è stato pensato per architetture parallele o “neuronali”.
WorldFIP, nato nel 1988 e noto come parte integrante della norma europea EN50170,
consente la connessione a 1Mbit/s a un massimo di 64 utenti per lunghezze di
collegamento fino a 1000m (la velocità massima varia al variare della lunghezza). Oltre
alla trasmissione su conduttore intrecciato e schermato e su fibra ottica, WorldFIP
trasmette anche su onde radio.
A livello europeo, il bus di campo più diffuso è il Profibus (process field bus), basato
sullo standard DIN 19245 e parte integrante della norma europea EN50170, che
consente di collegare i tipici utenti di cella (partner) anche se di differenti case
costruttrici: computer industriali, PLC, dispositivi di programmazione, controlli per
robot e macchine utensili, sensori, attuatori, azionamenti,... Il mezzo trasmissivo può
essere costituito da un doppino spiralato e schermato (RS485) oppure da un cavo duplex
in fibra di vetro o di plastica con possibilità di ripetitore con adattamento. Profibus può
connettere fino a 127 partner distanti oltre 100m con una velocità di trasmissione dati da
9.6kbaud fino a 1.5Mbaud; il metodo di accesso è a token passing.
Profibus è una sigla che comprende tre diversi protocolli:
 Profibus FMS (Fieldbus Message Specification)
(Implementato nei livelli ISO-OSI 1,2,7, consente la comunicazione tra i processi a
livello di cella. E’ orientato alla comunicazione multimaster (token-passing); è
versatile e consente unagrande varieta’ di applicazioni)
 Profibus DP (Device Peripheral), 1994
(Implementato nei livelli ISO-OSI 1,2 -linee guida “users” invece del livello 7-, è
dedicato alla comunicazione tra i processi a livello di campo (sensori, attuatori,..).
Veloce, efficiente ed economico, consente l’autoconfigurazione -Plug and play-)
 Profibus PA (Process Automation), 1995
Pag. 23
PLC e Automazione Industriale
(Implementato nei livelli ISO-OSI 1,2 -linee guida “users” invece del livello 7- .
Utilizza la tecnologia trasmissiva IEC 1158-2, che prevede l’alimentazione fornita
dal bus stesso, invece del classico RS485 su conduttore intrecciato o della fibra
ottica.
In figura 2.7 viene presentato un esempio di sistema di comunicazione a livello di
cella.
Figura 2.7
In generale i bus a livello di cella devono essere a basso costo e supportare protocolli
di semplice implementazione in modo da non gravare sui partner più compatti e
semplici (sensori, attuatori,...). A livello di area la complessità del sistema di
comunicazione cresce ed è a questo livello che per prima si è sentita la necessità di
standard ben definiti. La soluzione standard più adottata è il protocollo MAP 3.0
(Manufacturing Automation Protocol) basato su Ethernet. Map è uno standard basato sul
modello a 7 livelli che utilizza in tutti i livelli gli standard internazionali ISO. La parte
più significativa di MAP 3.0 è MMS (Manufacturing Message Specification), un
linguaggio utente orientato all'oggetto per l'integrazione di sistemi di automazione
eterogenei; MMS (standard ISO 9506) consente la comunicazione aperta standardizzata
tra calcolatori, workstation e apparecchiature di automazione, mettendo a disposizione
un gran numero di servizi (servizi per variabili -read, write, servizi domain-scambi di
grosse quntità di dati-, ...).
Pag. 24
PLC e Automazione Industriale
3. I computer industriali
I computer industriali rivestono un ruolo di primaria importanza sia a livello di
area (workstation, potenti elaboratori,...) sia a livello di cella (PC industriali o computer
modulari per la realizzazione di sistemi di supervisione, controllo di processo,
interfaccia operatore,....). Dotati di elevato potere di calcolo, si interfacciano facilmente
ad altri computer con i quali possono condividere dati e programmi, consentono la
gestione diretta di segnali anche non numerici, sono dotati di software di base che
semplifica la programmazione e la gestione da parte dell'utente. Con i computer
industriali è possibile sfruttare i vantaggi offerti dai sistemi aperti (elevato indice di
standardizzazione, tutela degli investimenti,...) e nello stesso tempo disporre di uno
strumento costruttivamente adatto ad operare in ambiente industriale e ad elevata
affidabilità. Cosi ad esempio un PC industriale, a parità di prestazioni con un PC da
ufficio, costa quasi il doppio a causa delle differenti caratteristiche costruttive (tastiera a
membrana, alimentatore più "filtrato" rispetto alla rete, contenitori di forma adatta al
montaggio in quadro elettrico e di materiale metallico per una corretta messa a terra e
quindi protezione contro i disturbi elettromagnetici,...).
3.1 I livelli di applicabilità
I computer industriali possono operare a livello di management, a livello di
supervisione e gestione di area, a livello di cella e a livello di comando. A livello di
management il computer perde la sua identità "industriale", mentre agli altri livelli vi è
una notevole differenza tra computer per ufficio e computer industriale.
I computer industriali dedicati alla supervisione e gestione dei processi a livello di
area sono delle workstation ad elevate prestazioni. Rispetto ad una workstation ad
esempio utilizzata per l'implementazione di sistemi CAD, la workstation industriale può
essere sostanzialmente basata sullo stesso hardware e condividere pacchetti software
applicativi, tuttavia deve differire sostanzialmente in almeno due aspetti:
l'ingegnerizzazione e l'interfacciabilità al processo.
L'ingegnerizzazione deve essere pensata per un ambiente industriale, dove cioé il
computer viene sottoposto a stress meccanici, termici ed elettrici particolarmente
gravosi. Questo si traduce in una diversa attenzione nella scelte progettuali (ad esempio
l'alimentatore dovrà essere più isolato rispetto alla rete, soggetta a forti disturbi dovuti
all'inserzione e disinserzione delle macchine di produzione), e nella selezione della
componentistica, motivata da requisiti affidabilistici. A livello costruttivo il contenitore,
così come le connessioni interne (bus, cavi,...), deve consentire un'elevata schermatura
dai disturbi elettromagnetici ed essere adatto al montaggio in quadro elettrico
eventualmente climatizzato, perché questo significa proteggerlo dalla sporcizia e dagli
stress termici; inoltre deve essere pensato secondo criteri di disponibilità e cioé disporre
Pag. 25
PLC e Automazione Industriale
di strumenti software e/o hardware in grado di individuare i guasti ed essere strutturato
in modo da consentire una rapida sostituzione delle parti guaste. La soluzione più
utilizzata è la struttura a cestello metallico (rack), che contiene il bus e dove le schede
elettroniche, di dimensioni standard, vengono inserite secondo opportune guide (slot).
L'interfacciabilità al processo si traduce in termini di hardware e software in grado di
gestire in tempo reale segnali numerici provenienti dai computer a livello di cella ed
eventualmente segnali elettrici direttamente provenienti dal campo. Il problema non
consiste tanto nella possibilità di arricchire il computer con schede di interfaccia verso
segnali elettrici di diverse caratteristiche, cosa che non altera la struttura fondamentale
hardware e software della workstation, quanto nell'esigenza del tempo reale (real-time).
Infatti sistemi operativi come ad esempio UNIX devono essere modificati per poter
gestire i processi nel tempo in cui si svolgono; queste modifiche al sistema operativo
costituiscono la barriera più grossa tra workstation per l'ufficio e workstation industriali.
A livello di cella si preferisce distinguere tra computer dedicati ai processi lenti e
computer dedicati a processi veloci: per i primi vengono utilizzati dei Personal
Computer di tipo industriale, mentre per i secondi sono utilizzati dei microcomputer
modulari ad elevate prestazioni. La scelta del PC corrisponde ad un'esigenza di
programmabilità e gestione dei processi lenti (supervisione, diagnostica, interfaccia
operatore,...) anche da parte di personale non altamente specializzato nella
programmazione. Ad esempio un PC corredato di sistema operativo Windows consente
un utilizzo anche da parte di personale non specializzato in informatica. Anche per i PC
valgono le stesse considerazioni fatte per le workstation. I computer dedicati a processi
veloci, detti anche PMC (Programmable Multifunction Controller), devono disporre di
un sistema operativo real-time molto snello e non perturbativo, per cui sono
caratterizzati da hardware mlto potente e software di base molto limitato, spesso ridotto
ad un semplice schedulatore di processi.
Di seguito vengono presentati i microcomputer industriali tipo PMC, che oggi
rivestono un ruolo dominante nel controllo di processo a livello di cella e in tutte le
funzioni di coordinamento (master) di sensori, attuatori,...
3.2 La struttura dei microcomputer industriali (PMC)
I microcomputer industriali devono essere modulari, facilmente riconfigurabili e
riprogrammabili, dotati di un semplice sistema operativo real-time multitasking, veloci,
altamente interfacciabili sia verso altri computer che verso sistemi comunicanti in modo
numerico, logico o analogico e scarsamente standardizzati (macchine utensili, robot,
sensori,....), robusti e cioé installabili in prossimità del processo o della macchina.
Esistono prodotti orientati a differenti fasce di costo/prestazioni: dal sistema economico,
basato su bus monomaster (1 sola scheda CPU), compatto, modulare con una vasta
gamma di moduli (Esempio: 100 moduli differenti) con pochi punti di I/O per modulo
(Esempio: schede da 8 ingressi logici), al sistema più versatile e aperto, basato su bus
standard multimaster (Esempio: VME BUS), modulare con una gamma limitata di
moduli, prevalentemente intelligenti, ad elevate prestazioni (potente struttura di calcolo
multi-CPU).
Nel primo caso, dato il limitato potere di calcolo e la vasta gamma di moduli, il
prodotto è rivolto verso applicazioni orientate all'I/O (Input/Output), generalmente
definite mediante semplici e brevi programmi scritti in linguaggio ad alto livello (Basic,
Pag. 26
PLC e Automazione Industriale
C,..); se l'applicazione viene considerata a bassissimo livello di modificabilità (Esempio:
controllo di più motori coordinati), il software applicativo, senza sistema operativo, può
essere direttamente memorizzato su memoria EPROM, riducendo i costi grazie
all'eliminazione di memoria RAM e memoria di massa e relativi controller.
Nel secondo caso, dati i costi superiori, il prodotto viene utilizzato per applicazioni
complesse in termini di elaborazione, prestazioni e interfacciamento in tempo reale; il
software è complesso e viene scritto in linguaggi ad alto livello adeguatamente potenti
(C, Pascal, Fortran).
Tra i principali tipi di moduli di un microcomputer industriale vi sono CPU (moduli
intelligenti), moduli di memoria (RAM, EPROM, EEPROM, memorie di massa),
moduli periferici e di I/O.
Tra i moduli CPU distinguiamo:
 CPU General Purpose ad alte prestazioni
(con µP potenti e configurabili come Master o Slave)
 CPU General Purpose "compatte"
(con µP a 8-16bit, generalmente Slave, dedicate ad applicazioni
 CPU General Purpose orientate all'I/O (-Esempio: Schede PLC-)
 CPU Grafiche
(Utilizzate per la gestione di monitor ad alta risoluzione e tastiere -Es.: Schede PC-)
 CPU di interfacciamento
(CPU dedicate alle comunicazioni verso altri computer; spesso dotate di firmwareper il protocollo di interfacciamento)
 CPU di controllo periferiche (Esempio: controllore di memorie di massa)
 Moduli coprocessori numerici
(in disuso, data la potenza dei nuovi microprocessori)
Tra i moduli periferici e di I/O distinguiamo:
 Moduli di ingresso/uscita logici (isolati e non isolati)
 Moduli di ingresso/uscita analogici
(in tensione, in corrente, differenziali, sbilanciati,...)
 Moduli di conteggio
(Esempio: interfaccia verso encoder come trasduttore di velocità/posizione)
 Moduli di temporizzazione (Esempio: orologio, calendario, allarme)
 Moduli di interfaccia parallela (Esempio: interfaccia Centronics verso stampante)
 Moduli di interfaccia seriale
(Esempio: RS232 verso periferiche -terminali, stampanti-, RS485 verso sistemi
controllati da un microprocessore -azionamenti- verso trasduttori/sensori (Esempio:
termocoppie, resolver,....)
Pag. 27
PLC e Automazione Industriale
4. Il PLC
Il microcomputer industriale o PMC, sebbene presenti prestazioni ottime, richiede
personale altamente qualificato per la programmazione e pertanto viene utilizzato in
applicazioni che richiedono un elevato investimento iniziale di progetto, notevoli costi
di debug, ma che non sono destinati a subire frequenti e notevoli variazioni. quando le
funzioni da svolgere sono semplici o comunque non particolarmente innovative
(gestione di segnali logici, anelli di regolazione tradizionali tipo PID, gestione di una
semplice interfaccia operatore,...) la soluzione più utilizzata è una struttura PLC
(Programmable Logic Controller).
Un PLC è strutturato come un semplice microcomputer industriale e differisce da
questo soprattutto a livello di programmazione. I programmi possono essere sviluppati
anche da personale non specializzato, sono brevi e fortemente supportati da software di
base che consente l'uso di linguaggi a macrofunzioni, simbolici o pseudografici. Il
programmatore sviluppa il software su un apposito sistema di sviluppo (spesso un PC
dotato di opportuno software) e quindi, collegando il sistema di sviluppo al PLC,
programma in modo non volatile il PLC (il programma viene scaricato su memoria
EEPROM o RAM dotata di batteria tampone). Grazie alla semplicità dei linguaggi
pseudografici e alla potenza del software di sviluppo, non si richiedono le competenze
per sviluppare un programma dall'inizio alla fine e per memorizzarlo su EPROM, come
nei microcomputer industriali.
La presenza dei PLC come soluzione ai problemi di automazione, controllo e
monitoraggio nelle applicazioni industriali, è una realtà ormai matura e presente da
molti anni. Solo negli ultimi anni è però diventata così diffusa quanto oggi, tanto che il
controllo industriale è ormai quasi sempre affidato a questi dispositivi.
Fino ai primi anni 90, infatti, i PLC offerti dalle grandi case, avevano ancora grossi
limiti, soprattutto in termini di affidabilità e di costo: non esistevano quei dispositivi
compatti che oggi sono presenti i tutti i listini del mercato e che rappresentano per una
larga fetta delle applicazioni poco complesse un ottimo compromesso tra prestazioni ed
investimento essendo particolarmente semplici ed economici. Al contrario, l’offerta era
limitata a dispositivi dai costi ben più alti delle poche centinaia di migliaia di lire
richieste oggi, e dalle prestazioni nettamente inferiori, che spesso non giustificavano
l’investimento richiesto. Per prestazioni si intende il grado di affidabilità e la velocità di
scansione degli ingressi. Per quanto riguarda l’affidabilità, i controllori non davano
garanzie sulla durata e sulla correttezza di funzionamento, che dovevano invece essere
utilizzati spesso su applicazioni critiche, che richiedevano un grado di affidabilità ben
più alto. I limiti di velocità di scansione degli ingressi (circa 100 ms), pesavano invece
in applicazioni di controllo in tempo reale, per le quali questi tempi erano inaccettabili.
Per questi motivi la scelta per l’automazione delle macchine ricadeva spesso su offerte
alternative, in particolare molte piccole aziende vendevano soluzioni “ad hoc”, ossia
schede a microprocessore costituite da hardware semplice e quindi affidabile e a elevate
Pag. 28
PLC e Automazione Industriale
prestazioni, ma la cui programmazione richiedeva personale altamente qualificato. Dopo
i primi anni novanta, le grandi case costruttrici sono scese in campo con PLC che
superavano brillantemente i problemi descritti in precedenza, incrementando
l’affidabilità e diminuendo i tempi di scansione degli I/O, con costi contenuti. Inoltre
nella scelta di un PLC pesa moltissimo il supporto in termini di punti vendita e
assistenza, di disponibilità di ricambi, di tempi di ganranzia e di possibilità di istruzione
del personale, caratteristiche di grandi società multinazionali.
4.1 I livelli di applicabilità
I PLC solitamente operano a livello di cella e a livello di comando. Come per i
computer industriali, anche per i PLC esistono varie famiglie di prodotto dedicate a
diverse applicazioni (figura 4.1).
PLC
COMPATTI
ESPANDIBILI
MODULARI
BASSO COSTO
FLESSIBILITA’
ALTE PRESTAZIONI
Linguaggi logici
(Ladder )
Linguaggi evoluti
(IEC 1131-3 )
Figura 4.1
A livello di cella e per comandi di elevata complessità si utilizzano PLC modulari,
basati su strutture aperte, dall'hardware molto simile ai PMC di livello equivalente. Si
tratta di strutture basate sull’uso di più CPU che operano contemporaneamente. In effetti
per l'implementazione di comandi di macchine complesse, di funzioni di automazione o
di supervisione di processo, il confine tra PMC e PLC modulari multiprocessore è molto
sottile e spesso si limita al software di base. Nei microcomputer industriali il software di
base consiste in un sistema operativo multitasking real-time e il software applicativo
deve essere sviluppato in linguaggio ad alto livello (Es. “C”) da personale altamente
qualificato, dato che spesso è possibile escludere il sistema operativo ed avere il
completo controllo dell'hardware. Nei PLC il sistema operativo non può essere
eliminato ed è anzi molto rigoroso, il che va a discapito delle prestazioni in termini di
tempo di esecuzione dei programmi, ma gioca a vantaggio dell'affidabilità del software.
La programmazione pseudografica mediante schema a contatti (ladder) o a blocchi
funzionali o a lista di macroistruzioni e macrofunzioni a libreria è molto più semplice e
affidabile e può essere demandata a personale non altamente qualificato. La semplicità
Pag. 29
PLC e Automazione Industriale
del software applicativo dei PLC può risultare limitativa rispetto ad applicazione di una
certa complessità, come accade nel caso di PLC modulari: si ricorre pertanto a linguaggi
più potenti (Es. IEC1131-3) ma che richiedono personale qualificato, proprio come
accade per i microcomputer industriali. Anche la differenza tra PLC e PMC sulle
prestazioni non è di grande rilevanza, dato che i PLC modulari più recenti e potenti
consentono un tempo di ciclo nell’ordine dei 10ms. Il tempo di ciclo e la velocità
nell’esecuzione dei programmi sono parametri di notevole importanza qualora il PLC
venga impiegato per la realizzazione di controlli digitali: sebbene storicamente le
funzioni di controllo demandate ai PLC fossero relative a processi lenti (Es. controllo
della temperatura), oggi è possibile trovare PLC impiegati per controllo di processi
sempre più veloci (controllo di posizione, controllo assi ad elevate velocità,…).
A livello di comando operano i PLC compatti, quando il requisito principale è il
basso costo, e i PLC espandibili, se viene richiesta una certa flessibilità e prestazioni
superiori. I primi sono strutture hardware rigide, caratterizzate da un unico blocco con al
più un numero molto limitato di opzioni, mentre i PLC espandibili ricalcano la struttura
dei PLC modulari, mantenendo però una semplice architettura a singola CPU. Entrambi
questi tipi di PLC vengono in genere programmati mediante linguaggi semplici e
affidabili (schemi a contatti, liste di istruzioni).
I PLC più classici e, ad oggi, i più utilizzati, sono i PLC economici (compatti o
espandibili) dedicati a funzioni di comando di bassa e media complessità. Tali PLC, che
vengono utilizzati essenzialmente per la gestione, eventualmente temporizzata, di
ingressi e uscite logiche, si sono affermati per la possibilità di sostituire complesse e
ingombranti logiche a relé (logiche cablate) con sistemi più compatti e facilmente
modificabili.
I Relais sono essenzialmente delle valvole, come indicato in figura 4.2: eccitando la
bobina di comando, i contatti normalmente aperti (NO) si chiudono, permettendo il
flusso di corrente, e i contatti normalmente chiusi (NC) si aprono, interrompendo il
flusso di corrente.
Relais
Contatto NO
Comando
Contatto NC
Figura 4.2
In figura 4.3 vengono indicate le principali funzioni logiche realizzate a relais.
I relais sono degli amplificatori di potenza: infatti se la bobina di comando viene
eccitata con 100mA, il contatto può portare più di 10A. Questa caratteristica, insieme
all’elevato isolamento tra bobina e contatti, all’economicità e alla possibilità di essere
facilmente utilizzati da personale non esperto, rende i relais ancora oggi molto utilizzati.
Nel caso però di realizzazione di funzioni logiche più complesse, i relais risultano lenti,
Pag. 30
PLC e Automazione Industriale
ingombranti e caratterizzati da elevati consumi di potenza che, tra l’altro, inquinano
elettromagneticamente l’ambiente.
V+
V+
V+
A
A
A
B
B
C
V-
C = NOT(A)
C
C
V-
C = A OR B
V-
C = A AND B
Figura 4.3
In conclusione i PLC sono stati utilizzati in sostituzione delle logiche a relais grazie
ai seguenti vantaggi:
 Riduzione dei cablaggi
 Elevata versatilita’ verso “upgrade”
 Riduzione degli ingombri
 Riduzione della potenza (assorbimento  100mA nei PLC piu’ compatti)
 Aumento della velocita’ di elaborazione
 Semplice, robusto ed affidabile
 Consente nuovi campi d’impiego (regolazione, controllo, calcolo multivariabile,.)
E’ proprio per rispettare la formazione culturale degli addetti, abituati a gestire
logiche a relais e quindi schemi funzionali a contatti, che i primi e attualmente più
diffusi linguaggi dei PLC ricalcano i linguaggi grafici a contatti (ladder).
4.2 La struttura dei PLC compatti
Un PLC compatto si presenta come un monoblocco avente dimensioni molto
contenute. In genere si tratta di PLC economici con una configurazione di ingressi e
uscite fissa e non espandibile (se non in modo molto limitato).
Di norma hanno possibilità di comunicazione molto limitate (non sono disponibili
interfacce per bus di campo), un set di istruzioni ristretto e un pacchetto di sviluppo
molto semplice che si adatta molto bene a utenti poco esperti.
Pag. 31
PLC e Automazione Industriale
Vengono utilizzati per applicazioni di automazione molto semplici, standardizzate e
senza la necessità di prevedere espansioni future.
A titolo di esempio si riportano le caratteristiche di un PLC compatto prodotto da
Siemens (Simatic S7-212), raffigurato in figura 4.4. Tale PLC integra 8 ingressi logici, 6
uscite logiche e 64 timers. Può essere espanso con un massimo di due moduli opzionali
selezionabili tra 25 fra digitali e analogici e supporta programmi di lunghezza massima
pari a circa 500 istruzioni mettendo a disposizione 512 word per i dati.
Fig. 4.4
Si tratta di un PLC molto economico ma con potenzialità molto limitate. Per fare un
raffronto, il modello immediatamente superiore (Simatic S7-214), che si inquadra tra i
PLC espandibili meno performanti, consente programmi più lunghi (2Kword codice +
2kword dati), un maggior numero di timers, contatori e punti di I/O (14 ingressi e 10
uscite) e di moduli di espansione (7 moduli, tra i quali l’interfaccia verso bus di campo
Profibus); inoltre integra ingressi di interrupt e consente l’esecuzione di istruzioni base
in meno di 1s.
4.3 La struttura dei PLC espandibili
Un PLC espandibile è costituito da diverse unità funzionali (moduli) che si possono
combinare tra loro a seconda delle esigenze dell'applicazione. Rispetto alla struttura dei
microcomputer industriali, si parla di moduli funzionali piuttosto che di schede; infatti
nei PLC non si aggiunge una scheda il cui software è completamente da realizzare, ma
si aggiunge un kit indissolubile costituito da una scheda più un pacchetto software
dedicato.
Questa soluzione ha il vantaggio di agevolare e velocizzare la realizzazione dei
programmi applicativi permettendo anche ad utenti poco esperti la realizzazione di
funzioni complesse.
Pag. 32
PLC e Automazione Industriale
Per contro si ha una perdita netta di flessibilità: tutto quello che non è previsto dal
pacchetto software a corredo non può essere realizzato anche se, potenzialmente, la
scheda sarebbe in grado di farlo. Per esempio una scheda di interfaccia verso un encoder
fornita di un pacchetto in grado di gestire un posizionamento assi non è in grado di usare
l'encoder come trasduttore fine di velocità anche se, scrivendo direttamente il software,
questo sarebbe possibile.
I PLC espandibili hanno una struttura molto più vantaggiosa rispetto a quella del
PLC compatti. In primo luogo questa è una struttura modulare cioè è possibile
configurare l’architettura del PLC in base alle effettive esigenze dell’automazione.
Posso inserire, di volta in volta, il numero e il tipo di moduli che mi occorrono senza
sprechi e con una flessibilità notevole rispetto a eventuali ampliamenti futuri. Di riflesso
questo porta ad avere una notevolissima varietà di moduli a propria disposizione, anche
per svolgere funzioni molto particolari, come controllori PID e fuzzy, moduli CNC,
moduli di comunicazione speciali, etc. La disponibilità di moduli di comunicazione che
implementano i principali protocolli a livello di campo (fieldbus) e a livello di fabbrica
rende il PLC facilmente integrabile con tutto quanto gli sta attorno (I/O remoti, sistemi
SCADA,...). Inoltre è scalabile perché scelgo il modello della CPU in funzione della
complessità della configurazione e della gestione da implementare; questo perché tutti i
modelli di una famiglia di CPU sono compatibili a livello software (almeno verso
l’alto). Modularità, integrabilità e scalabilità sono le principali caratteristiche di un PLC
espandibile. Per contro, come è intuibile, questi PLC sono più costosi dei compatti.
Figura 4.5
In figura 4.5 viene riportata la struttura di un PLC espandibile: il PLC Siemens
SIMATIC-S5. Nel proseguo, dove non espressamente indicato, si farà riferimento alla
struttura di tale PLC che, pur essendo ormai superato, rappresenta ancora un valido
mezzo didattico.
4.3.1 Rack e Moduli di bus.
Meccanicamente i vari moduli che compongono il sistema PLC trovano posto su un
“telaio a rastrelliera”, chiamato rack, oppure sono innestate su un più semplice modulo
di bus (vedi  in figura 4.5); entrambi hanno la funzione di facilitare il montaggio
meccanico e, soprattutto, di effettuare la connessione dei bus e delle alimentazioni fra i
Pag. 33
PLC e Automazione Industriale
vari moduli. Le strutture a rack o a bus garantiscono la modularità dell’architettura del
PLC.
A sua volta il tutto viene montato a scatto su particolari guide profilate normalizzate
chiamate guide omega (vedi  in figura 4.5).
Ogni rack può contenere un numero massimo di schede ma, a parte posizioni
particolari (tipicamente i primi 2 posti sono occupati da alimentatore e CPU), ogni posto
può essere occupato da un qualsiasi tipo di scheda. Inoltre il sistema PLC può anche
essere composto da più rack collegati, secondo varie configurazioni e gerarchie, in
locale (se i rack sono fisicamente vicini) o in remoto (se i rack sono distanti). In
generale per far questo sono necessarie opportune schede di interfaccia sia sul rack
master sia su quelli slave.
L’indirizzo delle schede innestate sul rack o sul bus può essere di tipo posizionale
(per esempio la scheda nella prima posizione utile ha indirizzo 0, la seconda 16,...)
oppure può essere assegnato a piacimento tramite parametri impostabili dall’ambiente di
programmazione del PLC.
4.3.2 Modulo alimentatore.
Questo modulo permette di generare le tensioni di alimentazione per tutte le schede
che compongono il PLC (in genere +5VDC, +15VDC e -15VDC) partendo da una
sorgente di alimentazione ausiliaria (24VDC, 115VAC oppure 230VAC) che spesso
alimenta anche altri carichi. E’ quindi molto importante che questo modulo svolga una
efficiente azione filtrante e stabilizzante al fine di aumentare la robustezza e
l’affidabilità di tutto il sistema.
Molto spesso questo modulo esplica anche funzioni di sorveglianza, sia sulle
alimentazioni che sulla corretta esecuzione del programma da parte della CPU (funzioni
di watch dog), e funzioni di gestione dell’alimentazione di back up per le memorie
volatili del PLC.
Non è raro che il modulo alimentatore risulti fisicamente inserito nello stesso
contenitore della CPU come avviene, per esempio, sui PLC Siemens S5 (vedi  in
figura 4.5).
4.3.3 Modulo CPU.
Nella figura di seguito viene mostrata la struttura funzionale di un PLC Siemens
Simatic; tuttavia questa è una struttura di carattere generale che si può applicare a quasi
tutti i PLC.
Il modulo di CPU è il modulo principale di un PLC perché vi risiede il sistema a
microprocessore che mantiene e elabora il programma applicativo. A grandi linee vi si
trovano tre memorie, una che memorizza il sistema operativo (firmware) del PLC, una
che mantiene il programma applicativo e un’altra per i dati interni al PLC.
In genere il sistema operativo del PLC risiede su una memoria ROM (o EPROM) non
visibile e nemmeno modificabile da parte dell’utente perché fornita direttamente dal
costruttore del PLC. In genere il sistema operativo si occupa di fornire un ambiente realtime strutturato, robusto e affidabile per l’esecuzione del programma applicativo. Si
occupa anche della gestione di particolari funzioni di diagnostica (stato batteria
tampone, check sum iniziale delle memorie, …), la gestione dei temporizzatori interni e
Pag. 34
PLC e Automazione Industriale
di implementare il protocollo per mezzo del quale, tramite l’apposito pacchetto di
sviluppo, è possibile trasferire e testare i programmi.
Figura 4.6
La memoria del programma, come è ovvio, deve conservare il programma anche
quando il PLC viene spento. Per comodità, in fase di messa in servizio dell’impianto, il
programma viene di solito caricato su memorie di tipo RAM il cui contenuto, in caso di
mancanza di tensione, è conservato grazie ad una batteria tampone; così Il programma
applicativo può essere caricato e modificato molto velocemente per mezzo del sistema
di programmazione. Al termine della messa in servizio il programma deve essere posto
su memorie di tipo non volatile (di solito EPROM o EEPROM) in modo tale che, anche
se la batteria tampone si scarica, il programma non viene perso.
La memoria per i dati è sempre di tipo RAM e il suo contenuto è preservato, in caso
di mancanza di tensione, dalla solita batteria tampone. Qui trovano posto tutti gli
elementi di memoria interni al PLC (Registri, Timers, flags, blocchi dati, ...) su cui
viene memorizzato lo stato del sistema (parametri, quote impostate, stato delle
temporizzazioni, ...). Quindi in linea di principio è sempre possibile in fase di
riavviamento far ripartire il sistema dallo stato che aveva prima dello spegnimento;
questa è una funzione indispensabile in quasi tutti i casi e, spesso, richiede un notevole
sforzo di programmazione. Naturalmente deve sempre essere previsto il caso in cui,
accidentalmente, questi dati vengono persi (per esempio perché si è scaricata la batteria
tampone).
Un altro blocco importante nella struttura di un PLC è l'unità aritmetico-logica che,
nel caso del PLC Siemens, è costituita da due accumulatori, ACC1 e ACC2, che
possono elaborare operazioni a byte e a word. Dato che il PLC esegue soprattutto
operazioni logiche booleane (AND, NOT, OR,…), dispone di un accumulatore logico a
un bit detto RLC (Risultato Logico Combinatorio) su cui viene memorizzato il risultato
parziale dell’espressione logica in corso di valutazione.
Pag. 35
PLC e Automazione Industriale
L'unità di governo, sotto il controllo del sistema operativo, legge le istruzioni
residenti nella memoria di programma e le esegue.
I PLC espandibili, per la loro particolare struttura, permettono di poter scegliere fra
diversi moduli CPU, tutti compatibili a livello elettrico e meccanico, ma con prestazioni
e costi diversi; così per ciascuna applicazione è possibile scegliere la CPU più adatta.
Nella scelta della CPU devono essere considerati diversi fattori. In primo luogo si deve
valutare la capacità di memoria necessaria per quella particolare applicazione, sia a
livello di programma sia a livello dati. Stimare la memoria necessaria può non essere
facile, soprattutto per quanto riguarda il programma, e spesso ci si basa sull’esperienza
data da altre applicazioni simili (corretta da coefficienti di sicurezza piuttosto
abbondanti). Un altro parametro da considerare è il tempo di elaborazione del
programma. Se il programma è molto lungo e complesso il PLC potrebbe risultare
troppo lento nella gestione degli I/O e potrebbe arrivare a perdere particolari eventi (per
esempio l’intervento di un sensore con Ton molto breve) oppure potrebbe svolgere i vari
compiti con troppo ritardo (si pensi a un asse che deve arrestarsi su un finecorsa). Dai
costruttori di solito viene fornita una tabella che riporta, per le varie CPU, i tempi di
esecuzione delle istruzioni suddivise per categorie (operazioni sul bit, operazioni in
virgola fissa, operazioni in virgola mobile, operazioni di branch, ...). Anche qui risulta
però difficile stimare a priori la lunghezza del programma, la tipologia e il numero delle
istruzioni che verranno impiegate. Tuttavia per le comuni applicazioni è difficile
sbagliare perché in genere il tempo di elaborazione di una CPU è inversamente
proporzionale alla sua capacità di memoria, quindi se un programma riesce a stare su
una data CPU probabilmente sarà anche elaborato in un tempo ragionevole. Un’altra
caratteristica da considerare è il numero e il tipo di interfacce disponibili. Il modulo
CPU dispone sempre di una porta (spesso un'interfaccia seriale collegabile direttamente,
o per mezzo di adattatori, alla porta RS232 di un PC) per il collegamento al sistema di
programmazione. Spesso la comunicazione avviene tramite un protocollo predefinito
implementato a livello firmware, in altri casi è possibile anche gestirla a livello di
programma applicativo. Inoltre questa interfaccia può essere di tipo punto-punto (come
la porta disponibile sulle CPU Siemens S5) oppure di tipo multipunto (come la porta
MPI disponibile culle CPU S7-3xx Siemens su cui si possono connettere fino a 32
stazioni a 187.5 kbps). In ogni caso, come si vedrà in seguito, queste non sono le uniche
porte di comunicazione per un PLC. Quando servono altre porte (oppure porte che
implementano protocolli più sofisticati) è possibile inserire sul bus speciali moduli detti
moduli di comunicazione. Un’altra possibile variante fra le CPU è lo spazio di
indirizzamento inteso come numero di I/O e il numero di rack che possono essere
gestiti. Le schede tecniche delle CPU riportano sempre il numero di I/O e il numero di
moduli gestibili tuttavia il significato di questi dati varia da costruttore a costruttore. Per
alcuni tipi di PLC quello che limita è solo il numero di moduli innestabili e, in questo
caso, non si distingue fra I/O digitali, I/O analogici o altri moduli. Per altri PLC, per il
tipo di architettura usata, vi è un limite per gli I/O digitali, uno per gli I/O analogici e
uno per il numero massimo di moduli innestabili. Bisogna anche fare attenzione se nello
spazio di indirizzamento riportato rientrano gli I/O remoti. In alcuni casi questi vengono
trattati come se fossero I/O locali quindi rientrano nel computo complessivo, in altri casi
gli I/O remoti vengono gestiti a parte.
Pag. 36
PLC e Automazione Industriale
4.3.3.1 Ciclo di funzionamento della CPU.
Vi sono fondamentalmente due differenti cicli di funzionamento per un PLC.
Il primo modello, che è nettamente il più usato (per intenderci è quello usato da tutti
i PLC Siemens Simatic), si basa sul concetto delle immagini di processo. In figura 4.7 è
rappresentata la sequenza delle operazioni svolte nel caso di normale funzionamento
della CPU (in gergo si dice che la CPU è nella fase di RUN).
Legge gli ingressi (IPI)
Esegue il programma
Fig. 4.7
Comunica
Esegue l’autodiagnostica
Scrive le uscite (IPU)
Le immagini di processo corrispondono allo stato dei segnali di ingresso e dei segnali
di uscita. Gli ingressi logici vengono letti una sola volta durante il ciclo di scansione e
memorizzati in apposite variabili, dette appunto immagini di processo di ingresso (IPI).
Analogamente il programma applicativo non agisce direttamente sulle uscite, ma su
variabili immagine di processo delle uscite (IPU) e solo alla fine del ciclo di scansione
le uscite vengono effettivamente modificate in base al valore delle IPU: così se il
programma applicativo setta e poi resetta un’uscita, in realtà è solo la IPU che viene
settata e poi resettata mentre l’uscita verrà solo posta a zero alla fine del ciclo di
scansione. In realtà non tutti gli ingressi e le uscite seguono la regola del singolo accesso
nel ciclo di scansione: ad esempio ci sono ingressi “veloci” che vengono letti molto
frequentemente, inoltre le routine di interrupt, che possono intervenire in qualsiasi
momento del ciclo di scansione, consentono l’accesso diretto a ingressi e uscite. Altro
caso particolare sono gli I/O analogici dove difficilmente si hanno immagini di processo
ma si opera direttamente sulla periferia.
Come si può intuire il programma applicativo deve avere una organizzazione ciclica,
cioè deve essere eseguito dall’inizio alla fine senza punti di attesa. Questo si adatta
molto bene alla gestione di operazioni di tipo combinatorio (come per esempio la
gestione di operazioni logiche booleane) ed è facile e naturale tradurre uno schema a
contatti elettromeccanico in un programma siffatto. Per contro risulta piuttosto
macchinoso e poco intuitivo nella gestione di operazioni di tipo sequenziale (per
Pag. 37
PLC e Automazione Industriale
esempio una sequenza di lavorazione composta da più movimenti in successione) dove
è necessario memorizzare su memorie d’appoggio lo stato raggiunto per poi riprenderlo
nel ciclo di scansione successivo. Per la verità i nuovi PLC mettono a disposizione
nuovi e potenti linguaggi di programmazione (per esempio gli SFC – sequential flow
chart – descritti in seguito) che risolvono questo inconveniente permettendo una
programmazione più naturale dei punti di attesa e delle sequenze.
Il secondo modello, per la verità poco diffuso (per esempio usato dai PLC SAIA), è
molto simile al ciclo di funzionamento di un microcontrollore. In questo caso non si
hanno immagini di processo ma la lettura di un ingresso viene effettuata nel momento
stesso in cui viene invocata e la modifica dello stato di una uscita si ripercuote
immediatamente sul campo. In questo caso risulta possibile strutturare il ciclo con punti
di attesa e feedback senza problemi, con una facile e naturale traduzione sia di strutture
combinatorie sia di strutture sequenziali. In questi PLC si hanno a disposizione più
blocchi di programma che vengono eseguiti in parallelo (per essere più precisi viene
simulata una sorta di parallelismo attraverso politiche di switch implementate dal
firmware, un po’ come accade per i sistemi time sharing). Naturalmente a fronte di una
più elevata efficienza e flessibilità di programmazione, per contro si ha una più difficile
gestione e, se non vengono adottate opportune tecniche informatiche, è più probabile
ottenere sistemi poco robusti. In genere questo tipo di PLC è più adatto a persone di
estrazione informatica anche se, purtroppo, quello che influenza la scelta di un PLC
sono per lo più fattori di carattere economico e di marketing.
4.3.3.2 Organizzazione dei programmi.
Ciascuna famiglia di PLC ha un proprio modello per l’organizzazione dei
programmi; noi considereremo un PLC basato su immagini di processo, in particolare
menzioneremo in dettaglio il PLC Siemens della serie S5.
In genere tutti i PLC permettono una programmazione di tipo strutturato e modulare
mettendo a disposizione, per mezzo del sistema operativo, diverse tipologie di blocchi
con differenti caratteristiche. Esistono sempre blocchi di tipo organizzativo (chiamati
OB nei Siemens) che permettono di organizzare la struttura generale ad alto livello del
programma utente. Vi saranno uno o più blocchi (OB1 per il Siemens) che verranno
eseguiti ad ogni scansione fra la lettura dell’immagine di processo degli ingressi (IPI) e
l’emissione dell’immagine di processo delle uscite (IPU) come mostrato nelle figure di
seguito.
Pag. 38
PLC e Automazione Industriale
E’ buona norma che questi blocchi contengano solo il richiamo di sottoblocchi (di
tipo PB o FB) che realizzano le varie tasks richieste; così il programma risulta più
leggibile e la struttura del programma è individuabile anche solo ad una prima occhiata.
Sempre per aumentare la leggibilità del programma è possibile effettuare scomposizioni
di tipo logico (chiamate segmenti) per suddividere gli OB in sottoparti che risultano
scorrelate fra loro (per esempio si può creare un segmento per la gestione
dell’interfaccia utente, uno per il manuale, uno per l’automatico, uno per il comando
degli ausiliari d’impianto, ecc.). In genere il sistema operativo del PLC effettua anche un
controllo sul tempo di ciclo, inteso come il tempo per l’esecuzione di un ciclo di
scansione completo, in modo da rilevare eventuali errori di programmazione che
portano a bloccare il sistema (per esempio un branch errato che crea un loop infinito).
Pag. 39
PLC e Automazione Industriale
Esistono anche altri blocchi di tipo organizzativo (chiamati anche exceptional
organization blocks) che vengono eseguiti solo al verificarsi di particolari eventi. In
genere vi sono blocchi che vengono eseguiti solo durante una partenza a caldo del
sistema (OB21 nel Siemens), durante la partenza a freddo (OB22 nel Siemens), quando
viene riconosciuto che la batteria tampone è scarica (OB34 nel Siemens), e così di
seguito.
Altre tipologie di blocchi disponibili sono i blocchi di tipo programma (chiamati
PB nei Siemens) e blocchi di tipo funzionale (chiamati FB nei Siemens) dove vengono
implementate le varie tasks richieste dall’applicazione. La differenza fondamentale fra i
due è che ai blocchi di tipo funzionale è possibile passare una serie di parametri in fase
di richiamo mentre questo non è possibile per i blocchi di programma. Entrambi
possono essere richiamati, in modo condizionato o incondizionato, sia dai blocchi
organizzativi sia da altri blocchi funzionali o di programma. In questo caso occorre
prestare attenzione al numero di livelli di nidificazione (cioè il numero di chiamate di
blocchi in cascata) perché esiste un limite imposto dal sistema operativo del PLC che
non può essere superato (il Siemens supporta fino ad un massimo di 16 livelli).
Una tipologia di blocco che purtroppo non è sempre presente in modo nativo è il
blocco di tipo sequenziale (chiamato SB nei Siemens) che permette una
implementazione semplice e leggibile di funzioni sequenziali (per esempio una serie di
comandi in sequenza che realizzano il ciclo di automatico di una macchina). In genere si
basano su diagrammi chiamati Grafcet (sullo stile delle reti di Petri) composti da
sequenze ordinate di passi (rappresentati con quadrati) e transizioni (rappresentati con
croci). I passi contengono operazioni che codificano azioni da eseguire (per esempio la
partenza di un motore, il comando di un pistone, l’attivazione di una spia di
segnalazione,…) mentre le transizioni codificano delle condizioni di test che devono
essere verificate per la prosecuzione della sequenza (per esempio l’attesa di un
finecorsa, l’attesa di un tempo di ritardo, il controllo di un pulsante azionato
dall’operatore,…). La semantica che regola il tutto è molto semplice: un blocco
sequenziale inizia eseguendo un particolare passo (chiamato passo iniziale – initial
step), poi vengono controllate le transizioni seguenti e, al verificarsi di una di esse,
viene eseguito il passo successivo nella sequenza, poi di nuovo le transizioni che lo
seguono e così di seguito fino al completamento della sequenza. Nella figura di seguito
viene riportato un esempio che mostra la leggibilità e la semplicità di una banale
sequenza implementata per mezzo di un blocco sequenziale.
Pag. 40
PLC e Automazione Industriale
4.3.3.3 Dati.
Come visto in precedenza, i dati in un PLC sono memorizzati su memorie RAM
opportunamente tamponate per preservare i dati nel caso di mancanza di alimentazione.
Tuttavia molti PLC permettono di suddividere questi dati, in modo fisso o impostabile,
in volatili (o non ritentivi) e non volatili (o ritentivi). Nel primo caso i dati vengono
azzerati ad ogni riavviamento del programma (per esempio alla riaccensione del PLC)
mentre gli altri vengono mantenuti nello stato che avevano prima dell’arresto.
Per facilitarne la gestione a livello programma utilizzatore, i dati vengono strutturati
in modo logico suddividendo lo spazio disponibile in memoria secondo varie tipologie
aventi dimensione e operatori differenti. In genere sono disponibili tipi di dati a bit,
byte, word e doppia word oltre a tipi di dati speciali per funzioni di contatore e timer. In
particolare è possibile precaricare un temporizzatore e associare un evento all’istante in
cui avrà valore zero; il firmware, in modo trasparente, si occuperà di decrementarlo fino
a 0 secondo una specificata base dei tempi. Un contatore è invece un contatore di eventi
relativi ad un segnale esterno su cui è possibile operare per mezzo di operatori specifici
(per esempio possono esistere istruzioni che decrementano il contatore e effettuano un
branch se questo ha raggiunto lo 0). I temporizzatori e i contatori possono essere testati,
impostati, azzerati, attivati e bloccati dal programma. Per fare un esempio concreto il
PLC Siemens S5-100U (versione CPU 103) mette a disposizione 2048 variabili a 1 bit
(chiamati merker o M), 128 temporizzatori a 3 cifre BCD con risoluzione selezionabile
da 0.01 a 10 secondi (chiamati T), 128 contatori a 3 cifre BCD (chiamati Z) e fino a 256
blocchi di dati (chiamati DB) che possono contenere fino a 256 word organizzabili e
gestibili a byte o word (chiamate DL e DR per i byte sinistro e destro di una word DW).
Per quanto riguarda la gestione dei dati occorre seguire alcune regole fondamentali.
In primo luogo bisogna tenere presente che in un PLC i dati rivestono la stessa
Pag. 41
PLC e Automazione Industriale
importanza del programma. Una buona strutturazione dei dati può portare ad un
notevole aumento di efficienza nella loro gestione. Per esempio occorre organizzare dati
fra loro omogenei in variabili adiacenti (come indirizzo). Questo porta a minimizzare il
tempo di trasferimento verso altri sistemi, per esempio i sistemi SCADA, dato che con
una sola sessione di comunicazione è possibile trasferire tutti i dati che interessano per
una data operazione (si ricordi che è più efficiente trasmettere un blocco composto da
tanti dati in una sola sessione piuttosto che tante sessioni di blocchi più piccoli perché
ciascun telegramma ha al suo interno altre informazioni, per esempio quelle per
l’instradamento, che quindi vengono ripetute per ciascun blocco trasmesso). Oltre a
questo conviene lasciare sempre delle zone di memoria libere fra i vari blocchi di
variabili correlate. Queste serviranno come scorta nel caso di upgrade futuri
dell’impianto. Altro punto fondamentale è la documentazione: occorre commentare
adeguatamente i dati definendo con chiarezza i produttori, i consumatori e le interfacce.
Per questo possono essere utilizzati alcuni strumenti messi a disposizione dall’ambiente
di sviluppo oppure occorre creare una adeguata documentazione cartacea (tabelle, cross
reference, …). Questo può sembrare una perdita di tempo ma bisogna ricordare che un
impianto può rimanere in funzione per molti anni e, spesso durante la sua vita, richiede
modifiche dovute a migliorie sul processo, aggiunte di interfacce verso altre macchine, e
tante altre cause difficilmente prevedibili a priori. Risulta quindi fondamentale attuare
tutte quelle strategie atte a rendere il programma il più manutenibile possibile.
4.3.4 Unità Periferiche
4.3.4.1 Moduli I/O digitali.
Questi moduli permettono di connettere direttamente al PLC i trasduttori e gli
attuatori digitali posti sul campo. Finecorsa, sensori induttivi, sensori capacitivi,
pulsanti, selettori e tutto quanto fornisce un segnale digitale verrà connesso alle schede
d’ingresso mentre relè, elettrovalvole, spie di segnalazione e tutto quanto viene
comandato da un segnale digitale verrà connesso alle schede di uscita. Sia le schede di
ingresso che quelle di uscita possono avere un parallelismo di 8, 16, 32 o 64 punti di I/O
e possono esistere schede miste di ingresso e uscita (per esempio 16 ingressi e 16 uscite
sulla stessa scheda).
Le caratteristiche principali per una scheda di ingresso sono la tensione nominale in
ingresso, la possibilità della separazione galvanica sugli ingressi e il valore del filtro
d’ingresso. In genere la tensione nominale in ingresso è di 24VDC (anche se esistono
schede a 115VAC e 230VAC), questo significa che vi sarà un certo campo di tensioni
sull’ingresso in cui il segnale logico riconosciuto dal PLC sarà lo 0 (tipicamente da 30VDC a +5VDC) e ve ne sarà un altro in cui verrà riconosciuto come 1 (tipicamente da
+15VDC a +30VDC). Molte schede d’ingresso sono anche dotate di optoisolatori che
garantiscono la separazione galvanica fra il campo e il PLC. L’utilizzo di queste schede
è sempre consigliabile soprattutto quando il PLC viene installato in ambienti
elettromagneticamente molto disturbati dove si possono creare differenze di potenziale
elevate. Un altro parametro da tenere presente durante la progettazione è che sugli
ingressi digitali è sempre presente un filtro che, di fatto, limita la frequenza massima del
segnale leggibile su un ingresso digitale. Tipicamente questo filtro ha una costante di
tempo da 0.2 ms a 8 ms.
Pag. 42
PLC e Automazione Industriale
Per quanto riguarda le schede di uscita è importante definire il tipo di stadio d’uscita
e la corrente massima fornibile. Tipici stadi d’uscita sono i transistor in configurazione
open collector (con possibilità di avere optoisolatori per la separazione galvanica), relè e
SSR (solid state relè). La scelta dello stadio d’uscita porta ad avere limiti sulla massima
frequenza di commutazione (per esempio nel caso di uscite a relè si ha una frequenza
massima di 20Hz) e sul tipo di segnale commutabile (le uscite a transistor possono
comandare solo carichi in corrente continua mentre gli SSR solo quelli in alternata). Le
tipiche correnti di uscita massime (per carichi resistivi) sono da 0.5A a 2A per le uscite
a transistor e fino a 8A per le uscite a relè.
4.3.4.2 Moduli I/O analogici.
Questi moduli permettono di connettere direttamente al PLC i trasduttori e gli
attuatori analogici posti sul campo. Potenziometri, dinamo, sistemi estensimetrici, celle
di carico, sensori di pressione e tutto quanto fornisce un segnale analogico verrà
connesso alle schede d’ingresso mentre riferimenti di velocità per inverter, indicatori da
pannello e tutto quanto viene comandato da un segnale analogico verrà connesso alle
schede di uscita. Sia le schede di ingresso che quelle di uscita possono avere un
parallelismo di 2, 4, 8 o 16 punti di I/O e possono esistere schede miste di ingresso e
uscita (per esempio 4 ingressi e 2 uscite sulla stessa scheda).
Le principali caratteristiche dei moduli d’ingresso analogici sono il tipo di ingresso
supportato (0..+10V, -10V..+10V, 0..20mA, 4..20mA, ingresso per termoresistenza
Pt100 e Pt1000, ingresso per termocoppia, ecc.), il numero di bit di risoluzione per il
ADC (da 8 a 16bit) e il tempo di conversione (in genere, per problemi di disturbi, si usa
un ADC a doppia rampa con tempo di conversione nell’ordine delle decine di ms).
Per quanto riguarda i moduli d’uscita si hanno il tipo del segnale d’uscita (0..+10V, 10V..+10V, 0..20mA, 4..20mA, ecc.), il numero di bit di risoluzione per il DAC (da 8 a
16bit), il tempo di conversione, il massimo carico collegabile all’uscita e il tipo di
collegamento al carico (a 2 fili o 4 fili nel caso in cui vi sia un circuito di sense in grado
di eliminare l’errore dovuto alla caduta di tensione sui cavi di collegamento).
4.3.4.3 Moduli di posizionamento assi.
In questa categoria rientrano una grande varietà di moduli che si possono suddividere
in 3 differenti tipologie, non sempre disponibili su tutti i modelli di PLC espandibili.
I più semplici, chiamati moduli o schede di conteggio veloce, permettono di
collegare al PLC i segnali forniti da un encoder (tipicamente di tipo incrementale che
forniscono solo 2 segnali rettangolari sfasati di 90° dai quali si riesce a estrapolare
l’informazione di entità e direzione dello spostamento effettuato da un asse) che, per la
frequenza elevata dei segnali, non può essere collegato direttamente ai comuni ingressi
digitali. Questo tipo di modulo viene fornito corredato da librerie che forniscono
funzioni per la lettura del contatore interno (in cui ho il numero di impulsi letti
dall’encoder, e quindi lo spostamento relativo effettuato dall’asse) e la modifica del suo
valore (utile, per esempio, per azzerare il conteggio) piuttosto che funzioni che ritornano
la velocità e l’accelerazione attuale nel caso in cui l’encoder venga impiegato per il
rilevamento preciso di una velocità. Vi sono anche moduli che permettono di gestire
anche un piccolo numero di I/O digitali a cui è possibile collegare finecorsa o gestire
uscite veloci al raggiungimento di particolari soglie sul conteggio (per esempio è
Pag. 43
PLC e Automazione Industriale
possibile gestire il rallentamento e l’arresto del movimento su un particolare valore di
conteggio senza passare attraverso il programma del PLC).
Un’estensione dei precedenti sono i moduli di controllo assi in cui, oltre alle
funzioni summenzionate, si ha a disposizione anche una uscita analogica che viene
connessa all’azionamento motore (azionamenti per motori in C.C., brushless o inverter
di tipo vettoriale) ed è in grado di comandare direttamente la velocità dell’asse per
ottenere un posizionamento continuo, regolare e preciso. In questo caso le librerie a
corredo sono molto più complesse e permettono funzioni del tipo: muovi l’asse alla
velocità X e accelerazione Y con profilo di velocità a S dalla posizione attuale alla
posizione Z. Il modulo è in grado di gestire il tutto senza l’intervento del PLC (magari
gestendo anche i finecorsa di sicurezza) e, al completamento del movimento, fornisce
una segnalazione al PLC che è così in grado di effettuare semplici ma precise
movimentazioni punto-punto. In genere questo modulo, per effettuare il controllo
dell’asse, implementa un controllore di tipo PID in cui le costanti proporzionale,
integrale e derivativa sono parametrizzate e impostabili direttamente dal PLC.
Ultimamente, soprattutto per PLC giapponesi, sono disponibili moduli che
implementano anche controllori di tipo fuzzy e neuro-fuzzy.
Per i PLC più potenti esistono anche moduli CNC o moduli di interpolazione assi
che sono in grado di comandare contemporaneamente in modo coordinato una serie di
assi (da 2 a 8) e quindi permettere traiettorie lineari, circolari e ellittiche. In effetti questi
moduli costituiscono un sistema a parte, anche se innestato sul bus del PLC, con un loro
processore e una loro memoria in cui è possibile caricare programmi di tipo partprogram (descrizioni ad alto livello delle traiettorie da eseguire). Il PLC ha solo funzioni
di supervisione con possibilità di selezione e avviamento per i vari part-program. Con
questi moduli è possibile soppiantare i sistemi CNC quando si devono implementare
applicazioni non troppo complesse. Questi ultimi rimangono insostituibili nel caso di un
numero molto elevato di assi o quando vi è la necessità di una interfaccia grafica
sofisticata con l’utente o con i sistemi CAD/CAM.
4.3.4.4 Moduli controllore.
In questa categoria rientrano tutti quei moduli che implementano controllori generalpurpose di tipo PID, fuzzy o neuro-fuzzy. In generale è possibile definire il valore di
riferimento che deve essere raggiunto (per esempio la temperatura in un forno) e, come
ingresso di retroazione al controllore, una qualsiasi variabile interna al PLC (per
esempio la temperatura letta da un forno per mezzo di una termocoppia che è stata
collegata ad un’opportuna scheda di ingresso analogica) che viene elaborata in funzione
di parametri caricabili da PLC (per esempio KP, KI e KD per un controllore PID) e il
cui risultato viene messo in un’altra variabile (per esempio il valore che viene posto
sull’uscita analogica che comanda l’apertura della valvola del gas del bruciatore di un
forno).
4.3.4.5 Moduli di comunicazione.
Questi moduli permettono di collegare il PLC ad altre apparecchiature per mezzo di
reti di vario tipo utilizzando protocolli standard. Tutti i PLC mettono a disposizione una
porta alla quale è possibile collegare il sistema di programmazione e diagnostica e
quindi programmare la CPU e verificare la corretta esecuzione del programma. Spesso
però questa porta permette solo collegamenti di tipo punto-punto con caratteristiche non
Pag. 44
PLC e Automazione Industriale
adatte all’ambiente industriale (per esempio è una porta RS232 a cui è possibile
connettere direttamente un PC). Quando si deve connettere il PLC ad una rete a livello
di campo (per esempio Profibus-DP) o a livello di cella (per esempio TCP/IP sopra
Ethernet) spesso è necessario utilizzare una opportuna interfaccia che, in modo
trasparente, mette a disposizione per la lettura o la modifica i dati interni al PLC.
Se il PLC viene connesso a una rete di campo è possibile effettuare comunicazioni
digitali e veloci con tutto quanto vi è connesso. Per esempio spesso si utilizzano schede
di I/O digitali remote, poste lontane dal PLC ma vicine ai trasduttori e attuatori sul
campo, connesse tramite fieldbus al PLC master tramite modulo di comunicazione che
permette al PLC di gestire questi punti di I/O come se fossero fisicamente connessi a
schede di I/O digitali poste sul suo rack. Questo permette una drastica riduzione dei
tempi e costi di cablaggio (si usa un semplice doppino in luogo di un numero di fili
almeno pari al numero di punti di I/O da gestire) senza stravolgere o complicare il
programma del PLC. Attraverso queste reti è anche possibile comandare dispositivi
complessi, come azionamenti e regolatori, migliorandone la stabilità: lo scambio dei
dati, essendo digitale, non ha problemi di disturbi che possono invece degradare i
segnali di tipo analogico (per esempio per un tipico azionamento brushless si passa da
un control stability di 0.1% in analogica ad uno 0.006% tramite fieldbus). Inoltre è
anche possibile effettuare la parametrizzazione di questi dispositivi da una stazione
remota con notevoli vantaggi di tempo, comodità e sicurezza. Per esempio un tipico
azionamento brushless può avere diverse decine di parametri impostabili e, di norma, è
dotato solo di una semplice e scomoda tastiera da cui è possibile l’impostazione
manuale; se si considera che una tipica applicazione può avere diverse apparecchiature
di questo tipo è chiara la comodità di un sistema centralizzato per l’impostazione e il
controllo di tutte queste.
4.4 Il software
E fondamentale puntare sulla semplicità di programmazione dei PLC: i programmi
devono risultare semplici, affidabili e ben documentati in quanto soggetti a frequenti
modifiche.
In generale, il ciclo di vita del software di automazione può essre schematizzato
come in figura 4.8.
Si comprende quindi l’importanza della scelta del linguaggio di programmazione che
deve essere semplice, rigido e schematico e, nello stesso tempo, potente ed effeciente.
Pag. 45
PLC e Automazione Industriale
Specifiche di
progetto
Richiesta di
nuove
funzionalita’
Studio di
fattibilita’
Analisi e
specifica dei
requisiti
Figura 4.8
Manutenzione
Integrazione
delle unita’
e test
Programma
-zione e test
unita’
Progettazione
Linguaggi tradizionali
I PLC di tipo compatto o espandibile vengono comunemente programmati con un
linguaggio di programmazone che fa uso di tre diversi modi di rappresentazione:
-
Ladder diagram (schemi a contatti)
Instruction List (lista di istruzioni)
Function block diagrams (schema elettrico funzionale)
Di seguito si farà riferimento alle simbologie adottate dai PLC Simatic S5-S7 della
Siemens: per tutti i controllori programmabili della famiglia SIMATIC vi è un
linguaggio di programmazione, lo STEP5-7, linguaggio che fa uso dei tre modi di
rappresentazione, come accennato sopra, lista di istruzioni (AWL), schema logico
funzionale (FUP) e schema a contatti (KOP), detto anche ladder diagram. Vediamo piu’
da vicino queste tre possibili filosofie.
AWL
Ogni programma è costituito da una sequenza di prescrizioni elementari di lavoro per
il controllore. Queste prescrizioni vengono chiamate “istruzioni”. Perciò un programma
non è altro che un elenco di istruzioni, la cosiddetta “lista istruzioni”, abbreviata in
AWL. Tutte le istruzioni sono strutturate nello stesso modo: la prima parte comunica al
controllore l’azione da compiere (operazione), la seconda parte comunica l’oggetto
dell’azione richiesta (operando).Un operando è composto da una sigla (p.e. “E”,”A” ) e
da un parametro, che a sua volta comprende il numero di posto-connettore (da 0 a 31) e
il numero dell’ingresso o dell’uscita (da 0 a 7).
La lista di istruzioni (AWL) rappresenta quindi le funzioni con abbreviazioni
mnemoniche: una riga AWL è un'istruzione. A puro titolo di esempio vengono riportate
le caratteristiche di programmazione di un PLC reale.
Gli operandi possono essere:

E
Ingressi

A
Uscite

M
Merker
Pag. 46
Interfacce da processo a controllore
Interfacce da controllore a processo
Memoria per risultati binari intermedi
PLC e Automazione Industriale





D
Dati
Memoria per risultati numerici intermedi
T
Temporizz.
Memoria per attuare temporizzazioni
Z
Contatori
Memoria per attuare conteggi
P
Periferia
Interfaccia da processo a controllore
OB,PB,SB,FB,DB Blocchi
Ausili per strutturare il programma
Nella programmazione a lista di istruzioni si fa uso di parentesi; le principali istruzioni, utilizzate
nella forma fissa istruzione-operando, sono:
U AND
UN NAND
O OR
ON NOR
S
SET (di una variabile, di un flag, di un tempo, di un contatore)
R
RESET (di una variabile, di un flag, di un tempo, di un contatore)
=
Assegnazione
L
Caricamento
T
Trasferimento
SI Attivazione di un tempo come impulso
(monostabile con uscita a 1 a partire dall'attivazione del segnale di ingersso per un tempo Tx,
quindi uscita a zero)
SE Attivazione di un tempo come ritardo all'inserzione
(monostabile con uscita ancora a 0 a partire dall'attivazione del segnale di ingresso per un tempo
Tx, quindi se l'ingresso è ancora attivo, l'uscita va a 1)
SA Attivazione di un tempo come ritardo alla disinserzione
(monostabile con uscita a 1 per un tempo Tx dopo che l'ingresso è andato a 0)
ZV Conteggio in avanti di un contatore (+1 se l'ingresso è a 1)
ZR Conteggio all'indietro di un contatore (-1 se l'ingresso è a 1)
!=F Confronto su uguale (ACC1=ACC2?)
><F Confronto su disuguale (ACC1><ACC2?)
> F Confronto su maggiore (ACC2>ACC1?
< F Confronto su minore (ACC2<ACC1?)
+ F Somma (ACC1+ACC2)
- F Sottrazione (ACC2-ACC1)
Le costanti di tempo per i temporizzatori possono essere espresse nel modo seguente:
KT xxx.y
dove
KT sta ad indicare che si tratta di una costante di tempo
xxx è il numero espresso in secondi
y è il fattore di scala
y=1
0.1
y=2
1
y=3
10
Per realizzare, ad esempio, la semplice funzione booleana
(A1.0) = (E0.0)&(E0.1) + (E0.2)&(E0.3)
nota: A=uscita E=ingresso
si farà
U
U
O
U
U
=
E0.0
E0.1
Nota:
U = AND O = OR
E0.2
E0.3
A1.0
FUP
Pag. 47
PLC e Automazione Industriale
Lo schema logico (FUP) rappresenta il programma come se venisse realizzati
mediante circuiti digitali identificati secondo la simbologia standard ANSI/IEEE
Std.91(vd. Appendice). In prativa si procede a una programmazione con blocchi grafici.
Per realizzare, ad esempio, la semplice funzione booleana vista sopra
(A1.0) = (E0.0)&(E0.1) + (E0.2)&(E0.3)
E0.0
E0.1
si farà:
&
>=1
E0.2
E0.3
&
A1.0
KOP
Programmazione con simboli grafici come in uno schema funzionale. Lo schema a
contatti (KOP), il più classico linguaggio per PLC, rappresenta il programma in forma
grafica, utilizzando le connessioni serie e parallelo, secondo un ipotetico flusso di
corrente che va da sinistra a destra (ladder). Questo tipo di programmazione è il piu’
vetusto, molto legato alla cultura degli addettia ai lavori perché fornisce un modello
equivalente allo schema elettromeccanico. I primi PLC si potevano programmare
esclusivamente in linguaggio ladder. Il linguaggio ladder fornisce una descrizione a
contatti delle funzioni logiche da implementare, in accordo a come si era soliti
documentare le logiche implementate a relais (linguaggio orientato al personale di
formazione elettrotecnica): il programma consta di più segmenti formati ciascuno da
una fila di elementi di base (contatti, bobine,…) dove si ipotizza un flusso di corrente da
sinistra a destra. Per realizzare la solita semplice funzione booleana si farà:
E0.0
][
E0.1
][
A1.0
()
nota: A=uscita E=ingresso
E0.0 E0.1
][
][
Quale è la migliore metodologia? Dipende da cosa si
vuole fare. Il Ladder (KOP) è potente nello schematizzare
reti combinatori, reti sequenziali, varie combinazioni IOMerker…, idoneo per rappresentazioni di schemi a
contatti. AWL è il tipico linguaggio simbolico, quasi un assembler semplificato, adatto a
effettuare operazioni complesse sui dati (trasferimenti di blocchi..), ad implementare
algoritmi, per realizzare funzioni matematiche. FUP rappresenta la classica
programmazione attraverso schemi funzionali rivolta a personale di estrazione
elettronica.
Ipotetico flusso
Si ricorda che i PLC vengono programmati mediante appositi terminali o piu’
semplicemente dei PC: il programma viene scritto, compilato e, dopo averne
Pag. 48
PLC e Automazione Industriale
eventualmente simulato il comportamento, viene scaricato nel PLC e memorizzato su
memoria permanente (EEPROM o RAM con batteria).
Nuovi standard di programmazione :IEC1131-3
Come si è detto, il linguaggio Ladder diagram è legato alla formazione culturale degli
addetti ai lavori. Gli schemi funzionali sono rivolti al personale di estrazione elettronica
ma, con l’avvento di programmi di definizione dell’Hardware diversi dagli schemi
funzionali (Es. VHDL Very High speed Integrated Circuit Hardware description
Language), questa modalità sembra destinata a rimanere in ombra. Le liste di istruzioni
sono più orientate al personale di estrazione informatica, tuttavia sono legate
biunivocamente ai ladder diagram (a una lista di istruzioni corrisponde una sequenza di
ladder) e quindi ne conservano i limiti.
Questi tre linguaggi tradizionali sono orientati all’implementazione di programmi
semplici e non consentono, ad esempio, una facile integrazione tra parti di programma
sviluppate da diversi progettisti. L’assenza di una metodologia di progetto del Software
comporta lunghi tempi di sviluppo e le scarse doti di autodocumentazione di tali
linguaggi comportano un’affidabilità limitata. Inoltre vi è una certa diversità tra i
linguaggi proposti dai diversi costruttori (Ad esempio la modalità lista di istruzioni
prevede istruzioni e simbologie diverse a seconda del costruttore) e più in generale il
software risulta fortemente legato all’hardware, con una conseguente difficltà neglle
operazioni di “upgrade” dell’hardware. La riduzione dei tempi di messa in servizio di un
impianto di automazione, e quindi la riduzione dei tempi di test sul campo, è un
x
x
Fig. 4.9
x
x
problema di notevole importanza. I linguaggi tradizionali mal si prestano alla
realizzazione di potenti strumenti di sviluppo e simulatori in grado di aumentare le
procedure di test che possono essere effettuate prima della messa in servizio. Sebbene
molti costruttori abbiano messo a disposizione linguaggi tipo “Structured Text” in grado
di adattarsi meglio alle applicazioni più complesse, la necessità di uno standard ha
Pag. 49
PLC e Automazione Industriale
portato alla defnizione dello standard di programmazione per PLC noto come IEC11313.
Lo schema generale del modello software IEC1131-3 è illustrata in figura 4.9.
L’elemento esterno (configuration) corrisponde generalmente ad un PLC. Nella
descrizione di un sistema si possono avere più configuration tra le quali è possibile
stabilire delle comunicazioni secondo modalità previste e definite dallo standard.
All’interno di una configuration troviamo una o più resource che costituiscono il
supporto di esecuzione dei programmi. Le resource sono autonome tra loro e possono
essere messe in corrispondenza con le varie CPU che compongono i PLC modulari più
complessi: la comunicazione tra differenti resource avviene tipicamente attraverso
variabili condivise (global variable, directly represented variable). I Task possono
essere intesi come i motori di attivazione (periodici o legati a eventi) di più parti di più
program (ad esempio se non vi sono task -zero task- i program vengono eseguiti
secondo una struttura sequenziale). I program sono dei contenitori di costrutti
eseguibili, scritti nei linguaggi previsti dallo standard. Tali costrutti si ripartiscono in
function block (procedure con parametri di ingresso e di uscita e variabili locali –Es.
regolatore PID- ) e function (sistemi a più ingressi e una sola uscita priva di stati
interni). I function block possono essere costituiti a loro volta da altri function block
secondo una struttura gerarchica. I moduli, che nello standard sono detti POU (Program
Organisation Unit) sono quindi dei tipi program, function block e function, che in
genere sono presenti a livello di librerie.
La normativa prevede un ricco insieme di dati elementari, tra i quali strutture complesse
quali matrici. Per evitare di dipendere dall’hardware e tentare di lavorare su una
cosidetta “macchina virtuale”, lo standard evita di definire alcune caratteristiche quali ad
esempio la mappa dei punti di ingresso/uscita.
Sono previsti vari linguaggi per la strutturazione interna di un POU:
- Ladder Diagram (Es. KOP)
- Instruction List (Es. AWL)
- Function Block Diagram (Es. FUP)
- Structured Text (Linguaggio ad alto livello tipo PASCAL o BASIC)
- Sequential Function Charts (SFC)
Il linguaggio SFC (variante del linguaggio grafcet già analizzato al paragrafo 4.3.3.2)è
costituito da diagrammi a passi tipo flow charts caratterizzati da:
- Steps (stati delle sequenza di controllo)
- Actions (piu’ azioni contemporanee possono essere assegnate ad un passo e la
temporizzazione di ciascuna azione e’ fissata mediante qualificatori)
- Transitions (passaggi tra passi)
Pag. 50
PLC e Automazione Industriale
4.5 Problematiche applicative
4.5.1 Strategie di programmazione
Di seguito vengono enunciate una serie di buone regole di programmazione di PLC
secondo linguaggi tradizionali.
1) Ogni segmento deve poter essere commentabile in modo chiaro e compiuto
(strutturare il programma in sottoprogrammi ed eventualmente suddividere segmenti
complessi in più segmenti semplici facendo uso di merker come variabili
intermedie)
2) Seguire le logiche in sicurezza, possibilmente ridondando gli interblocchi su più
segmenti
3) Si raggruppino le condizioni relative ad un certo stato di una o più uscite secondo la
logica del “minimo impatto delle modifiche” (se si aggiungesse una condizione si
dovrebbe modificare il programma nel minimo numero di punti)
4) Uscite e merker devono essere assegnati una sola volta all’interno di ogni ciclo di
scansione
5) Si deve porre grande attenzione nell’ordine dei segmenti. Ad esempio si veda la
realizzazione di un rilevatore (M01) di fronte di salita del segnale E0.0
E0.0
M0.0
M0.1
E0.0
M0.0
M0.1
M0.0
E0.0
Se si associa ad ogni linea tratteggiata un ciclo, si osserva (disegno a sinistra) che nel
ciclo in cui E0.0 commuta, commuta anche M0.1 ma non M0.0, che deve commutare
al ciclo successivo. La realizzazione a ladder riportata a destra rispecchia tale
comportamento, dato che M0.0 viene aggiornato dopo che è stato utilizzato; se si
scambiassero di posizione i due ladder, E0.0 e M0.0 commuterebbero insieme e
quindi M0.1 risulterebbe sempre disattivo (figura sotto).
E0.0
M0.0
M0.1
M0.0
E0.0
E0.0
M0.0
M0.1
4.5.2 Strutture ad autoritenuta
Una delle più semplici e comuni applicazioni dei PLC consiste nella gestione di
logiche di AVVIO/ARRESTO e nella gestione di logiche di ALLARME.
Pulsante AVVIO
Pulsante ARRESTO
Stato ABILITAZIONE
E0.0
E0.1
A0.0
Pag. 51
PLC e Automazione Industriale
Condizione di ALLARME E0.0
Pulsante di RIPRISTINO
E0.1
Segnalazione di ALLARME A0.0
Di seguito vengono riportati gli schemi funzionali della logica di avvio/arresto (a
sinistra) e della logica di allarme (a destra).
allarme
avvio
E0.0
A0.0
E0.0
E0.1
E0.1
A0.0
ripristino
arresto
A0.0
A0.0
Come si può osservare entrambe le configurazioni si dicono “ad autoritenuta” in
quanto mantengono memoria dell’ultimo pulsante premuto. Nel caso entrambi i pulsanti
siano contemporanenamente premuti, la configurazione di sinistra fa prevalere la
condizione di arresto (struttura stop-prevalente), mentre quella di destra fa prevalere la
condizione di allarme (struttura start prevalente), secondo una logica di sicurezza.
In generale i comandi di AVVIO sono contatti NA (normalmente aperti) , mentre i
contatti di ARRESTO sono NC (normalmente chiusi). Infatti in caso di rottura cavi, si
avrebbe
AVVIO=aperto=disattivo
e
ARRESTO=aperto=attivo,
generando
automaticamente l’arresto secondo la logica in sicurezza. Analogamente i contatti
relativi a condizione di allarme sono NC, mentre i contatti relativi a comandi di
ripristino sono NA.
La realizzazione su PLC della struttura stop-prevalente può essere realizzata in più
modi:
KOP (Ladder diagram)
AWL(lista istruzioni)
E0.0
A0.0
E0.1
A0.0
U(
O E0.0
O A0.0
)
UN E0.1
= A0.0
La realizzazione a ladder di una struttura stop-prevalente prevede la condizione di set
in parallelo con l’uscita e il tutto in serie con il negato della condizione di reset: in
questo modo se è attiva la condizione di reset, comunte sia la condizione di set,
l’ipotetico flusso di corrente da sinistra a destra risulta interrotto e l’uscita A0.0 risulta
disattiva. La realizzazione a destra è effettuata mediante lista di istruzioni. .
Pag. 52
PLC e Automazione Industriale
Con un controllore programmabile possiamo risolvere il compito sopra definito in
maniera piu’ semplice:per fare ciò utilizziamo le operazioni di set e reset a nostra
disosizione. Avremo così:
AWL(lista istruzioni)
FUP
E0.0
U E 0.0
S A0.0
U E 0.1
R A0.0
A0.0
S
E0.1
R
La realizzazione a destra , detta a box, chiarifica il meccanismo delle immagini di
processo di uscita: infatti se sono contemporaneamente attive le condizioni di set e reset,
l’immagine di A0.0 viene prima settata e poi resettata (N.B. solo la variabile
immagimne e non l’uscita), ma il valore che a fine ciclo verrà effettivamente caricato
sull’uscita A0.0 è zero.
La realizzazione su PLC della struttura start-prevalente può essere realizzata in più
modi:
KOP (Ladder diagram)
U A0.0
UN E0.1
O E0.0
= A0.0
A0.0
E0.0
A0.0
AWL(lista istruzioni)
E0.1
La realizzazione a ladder di una struttura start-prevalente prevede la condizione di set
in parallelo con la serie tra l’uscita e il negato della condizione di reset: in questo modo
se è attiva la condizione di set, comunte sia la condizione di reset, l’ipotetico flusso di
corrente da sinistra a destra risulta assicurato e l’uscita A0.0 risulta attiva. La
realizzazione a destra è effettuata mediante lista di istruzioni. Come prima possiamo
anche procedere in questo modo:
AWL(lista istruzioni)
U E 0.0
R A0.0
U E 0.1
S A0.0
FUP
E0.1
A0.0
R
E0.0
S
La realizzazione a destra, detta a box, chiarifica il meccanismo delle immagini di
processo di uscita: infatti se sono contemporaneamente attive le condizioni di set e reset,
l’immagine di A0.0 viene prima resettata e poi settata (N.B. solo la variabile immagine
e non l’uscita), ma il valore che a fine ciclo verrà effettivamente caricato sull’uscita
A0.0 è uno.
Pag. 53
PLC e Automazione Industriale
4.5.3 Uso di timer e contatori
Un timer viene in genere rappresentato a box.
Txx
IN
Txx
IN Ton
IN Tonr
PT
PT
PT
Txx
Il timer è un contatore di tempo e si incrementa dopo che è trascorso un tempo detto
“base tempi”. Esistono timer a diverse basi tempi (1ms, 10ms,…). Possono esistere
diversi tipi di timer. Il timer più generale, indicato come timer Ton nella nomenclatura
Siemens Simatic S7-200, ha un ingresso di abilitazione IN (se IN=0 il timer rimane fisso
a zero) e dispone di una costante di tempo PT trascorsa la quale l’uscita viene posta a 1.
Il timer può disporre di autoritenuta (Tonr): in tal caso se IN si disattiva prima del tempo
PT, il conteggio parziale viene memorizzato e, alla successiva riattivazione di IN, il
conteggio riprende da dove era stato interrotto.
Nell’esempio riportato a lato il timer 32 ha una
T32
base tempi di 1ms e pertanto dopo 8ms
E0.0
IN Ton
dall’attivazione di E0.0 T32 si attiva e rimane attivato
fino a quando non si disattiva E0.0. Se invece E0.0
rimane attivo per meno di 8ms, allora non si ha alcun
PT
8
effetto su T32.
Anche i contatori sono rappresentati a box.
Zxx
E0.0
CU
CD
R
PV
CU
E0.1
Esempio
Z48
E0.2
3
CD
R
PV
L’ingresso CU abilita il conteggio in incremento e quindi per ogni impulso del
segnale in ingresso a CU il contatore si incrementa. Analogamente l’ingresso CD abilita
il conteggio in decremento, tuttavia in caso di CU e CD attivi contemporaneamente non
si ha ne’ incremento ne’ decremento. L’ingresso R azzera il contatore.fronte di salita.
Nell’esempio riportato a lato Z48 rimane alto per tutto il tempo in cui il contatore 48 ha
valore 3.
Posso anche gestire in modo molto potente funzioni di temporizzazione con
linguaggi tipo AWL. Un controllore SIMATIC possiede temporizzatori interni con
diverse funzioni: ad esempio ritardo all’inserzione o alla disinserzione….. Sulla scorta
di due esempi, “l’avvio di un tempo quale impulso” ed il “ritardo all’inserzione”,
conosceremo piu’ da vicino alcune di queste funzioni di temporizzazione.
Pag. 54
PLC e Automazione Industriale
Usiamo la funzione di temporizzazione ritardo all’inserzione “SE” quando sussiste
la seguente problematica: un ingresso deve attivare un’uscita con un certo ritardo (p.e. 7
secondi) e lasciarla attivata finchè l’ingresso porta il segnale “1”. Nel seguente
diagramma è rappresentata graficamente tale situazione:
Nella lista istruzioni dovremo impiegare l’operazione “SE”, per l’avvio di un tempo
quale ritardo all’inserzione. Con “KT” stabiliremo quanto tempo deve passare prima
che il temporizzatore “T2” porti il segnale ad “1”. Pertanto si ricava la seguente lista
istruzioni:
U E 0.2
L KT 70.1
SE T2
U T2
=A 1.3
In altre parole appena attiviamo l’ingresso E 0.2 lasciandolo attivato, avviamo il
ritardo all’inserzione; con l’istruzione “kt 70.1” abbiamo definito un ritardo di
70*0.1s=7sec. Le due istruzioni “L KT 70.1” e “SE T2” fanno sì che il temporizzatore
T2 fornisca un segnale “1” dopo 7 secondi dall’attivazione dell’ingresso E 0.2, purchè
l’ingresso rimanga attivato almeno per quel tempo, quindi se l’ingresso rimane attivato
per piu’ di 7 secondi, l’uscita A 1.3 si attiva dopo 7 secondi, altrimenti non si attiva.
Impieghiamo la funzione di temporizzazione avvio di un tempo quale impulso ”SI”
quando si presenta il seguente quesito: un’uscita deve sempre attivarsi quando un
determinato ingresso porta il segnale “1” e deve rimanere attivata finchè persiste il
segnale “1” all’ingresso, però al massimo, p.e. per 40 secondi. Il diagramma temporale
illustra chiaramente tale situazione:
Pag. 55
PLC e Automazione Industriale
La lista istruzioni AWL risulta questa:
U
L
SI
U
=
E 0.1
KT 40.2
T1
T1
A 1.2
Praticamente con l’ingresso E 0.1 avviamo il temporizzatore; le due istruzioni
successive “ L KT 40.2 “ e ” SI T1” fanno sì che il temporizzatore T1, una volta
avviato, funzioni per 40 secondi sempre che all’ingresso E 0.1 sia presente per tutto quel
tempo il segnale “1”; finchè il temporizzatore è in funzione, l’istruzione “U T1” fa in
modo che l’uscita A 1 sia attivata.
Pag. 56
PLC e Automazione Industriale
5. Esempio di progettazione
5.1 Introduzione
La progettazione di un’automazione è una attività ingegneristica molto complessa
che spazia in vari campi e presuppone una buona conoscenza di varie discipline, non
solo di tipo tecnico. Per affrontare il tutto in modo efficace ed efficiente è indispensabile
attuare una metodologia di progettazione che possa guidare, in modo chiaro e
coordinato, tutte le figure tecniche coinvolte in questo processo. Di seguito verranno
vagliate le principali problematiche da affrontare durante la progettazione e verrà
proposta una semplice metodologia di progettazione analizzando i vari passi che la
compongono.
5.2 Problematiche da affrontare
Le problematiche da affrontare in fase di progettazione sono molteplici ma si
possono raggruppare in quattro gruppi fondamentali: le problematiche
elettriche/elettroniche e impiantistiche, quelle di tipo informatico, quelle legate alle
comunicazioni con altri sistemi e quelle relative alla sicurezza.
5.2.1 Problematiche elettriche, elettroniche e impiantistiche.
Lo schema di seguito mostra le principali problematiche in questo ambito.
Per quanto riguarda la parte di potenza, cioè quella che fornisce potenza ai motori
dell’impianto, la problematica principale è quella di effettuarne il dimensionamento.
Questo significa decidere, per ciascun motore, il coordinamento fra le apparecchiature di
comando e protezione in modo da garantire che eventuali cortocircuiti o sovraccarichi
non danneggino l’impianto. Per esempio nel tipico caso di un motore trifase con
avviamento diretto si dovranno scegliere il teleruttore (che è come un relè di potenza in
grado di commutare le 3 fasi che alimentano il motore), il dispositivo magnetotermico
di protezione e la sezione dei cavi elettrici di collegamento. Per questa scelta ci si avvale
di tabelle di coordinamento, in genere fornite dagli stessi costruttori, coadiuvati da
quanto indicato dalle normative di riferimento per l’equipaggiamento elettrico (che
meritano di venire analizzate a parte in un prossimo paragrafo). Lo stesso discorso vale
anche per i motori a velocità variabile solo che in questo caso occorre attuare particolari
accorgimenti anche per la protezione dell’azionamento nel suo insieme. Per finire è
indispensabile effettuare la scelta del dispositivo di protezione e sezionamento
dell’intero impianto elettrico facendo in modo che la sua soglia di intervento per un
cortocircuito (cioè il limite in Ampere oltre il quale sgancia, chiamato soglia di
protezione magnetica) sia inferiore alla massima corrente sezionabile dai dispositivi di
Pag. 57
PLC e Automazione Industriale
protezione a valle (chiamato potere di interruzione). Anche in questo caso si è
pesantemente condizionati da quanto imposto dalle normative di riferimento e occorre
vagliare attentamente i dati tecnici dei dispositivi usati.
Altra problematica da affrontare è la scelta dell’architettura del PLC da usare.
Abbiamo già trattato questo argomento nel capitolo 4.2 e dovrebbero essere chiare le
variabili in gioco. In poche parole occorre scegliere il tipo di PLC (compatto o
espandibile), il tipo di CPU, il numero e la tipologia dei moduli, ecc.
Per ultimo occorre considerare i cablaggi, cioè i cavi di collegamento, sia all’interno
del quadro elettrico di comando sia fra il quadro e l’impianto. Anche qui le normative
sono molto rigorose e ci indicano la sezione da utilizzare, la massima caduta di tensione
ammissibile, il colore dei fili e la loro identificazione, il tipo di isolante, la tipologia
delle condutture che possono essere usate per il passaggio dei cavi e il loro grado di
riempimento, ecc. Deve essere prestata particolare attenzione ai cavi di collegamento
verso apparecchiature che emettono (per esempio un inverter per la regolazione di
velocità di un motore) o sono influenzate da fenomeni elettromagnetici (per esempio un
encoder che rileva la posizione di un asse). Si vedrà che questo ambito viene coperto da
una opportuna normativa che fissa i limiti ammissibili per quanto riguarda le emissioni e
le immunità ai fenomeni elettromagnetici. Perché sia rispettata non è sufficiente inserire
filtri sulle sorgenti dei disturbi ma è indispensabile che il cablaggio venga realizzato in
maniera opportuna. Per esempio devono essere utilizzati cavi schermati per il
collegamento dei dispositivi critici e devono essere diversificate le condutture per i cavi
in funzione della tipologia (disturbanti o soggetti ai disturbi).
5.2.2 Problematiche relative alla sicurezza.
Lo schema di seguito mostra le principali problematiche in questo ambito.
Pag. 58
PLC e Automazione Industriale
Visto quanto anticipato al sottoparagrafo precedente, dovrebbe essere già chiara
l’importanza che hanno le normative, soprattutto quelle legate alla sicurezza degli
impianti, nel processo di progettazione. Al giorno d’oggi è impensabile ignorare le
disposizioni in materia di sicurezza e la conoscenza delle normative a riguardo deve far
parte dell’indispensabile bagaglio culturale di qualsiasi progettista, allo stesso livello
delle conoscenze di carattere tecnico. Data la vastità dell’argomento noi ci limiteremo a
fornire alcune sommarie indicazioni con il solo scopo di aprire una finestra su un campo
importantissimo ma, purtroppo, per nulla considerato in ambito universitario.
Innanzitutto occorre dire che la Comunità Europea ha emanato alcune direttive, che gli
stati membri hanno tutti recepito, volte a unificare tutte quelle disposizioni in materia di
sicurezza che valevano solo a livello dei singoli stati. Così facendo si sono volute
abbattere tutte le barriere a livello tecnico che impedivano una libera circolazione dei
materiali (e quindi anche di impianti e macchinari) in ambito europeo. Questo significa
che un produttore italiano, applicando le normative unificate, può esportare senza
problemi in tutta la Comunità Europea senza dover conoscere, come accadeva in
precedenza, tutte le normative interne ai singoli stati; per indicare che un prodotto
rispetta le norme unificate è sufficiente marcarlo con il noto simbolo CE. Nel campo
dell’automazione le principali direttive emanate sono riportate nella seguente tabella.
Codice
73/23/CEE
93/68/CEE
89/336/CEE
92/31/CEE
89/392/CEE
91/368/CEE
93/44/CEE
Tipo
LVD
Descrizione
Direttiva sui materiali in bassa tensione (cioè < 1000V).
EMC
Direttiva sulla compatibilità elettromagnetica.
MD
Direttiva macchine.
Pag. 59
PLC e Automazione Industriale
Queste direttive definiscono il campo di applicazione, i requisiti essenziali per la
progettazione e le procedure per la certificazione e la marcatura ma si appoggiano alle
norme armonizzate per l’interpretazione tecnica dei requisiti essenziali di sicurezza. Le
norme armonizzate si suddividono in tre tipologie (indicate rispettivamente con A, B e
C): quelle di tipo generale che affrontano i concetti generali e i principi di progettazione
(per esempio per la MD sono le EN292), quelle che affrontano aspetti specifici per la
sicurezza (per esempio la EN418 che tratta i dispositivi di arresto di emergenza) e quelle
che trattano le norme di sicurezza per uno specifico prodotto (per esempio la EN775 che
si occupa dei robot industriali). Le principali norme armonizzate che interessano la parte
elettrica ed elettronica di un impianto sono riportate nella tabella seguente (in realtà ne
esistono tante altre...).
Codice
Descrizione
EN60204 (o E’ la norma fondamentale per quanto riguarda l’equipaggiamento elettrico delle
CEI 44-5)
macchine e impianti industriali. In vari articoli vengono trattati i più importanti aspetti
legati alla sicurezza fino nei minimi dettagli (a volte rimandando ad altre norme più
specifiche). Nello schema sottostante si ha un’idea degli argomenti trattati. Meritano
una particolare attenzione il capitolo riguardante il circuito di protezione
equipotenziale (è più conosciuto come collegamento di terra, realizzato con fili di
colore giallo-verde), quello relativo alle protezioni contro la scossa elettrica, quello
relativo alle interfacce di comando e controllo (dove si indica, per esempio, il colore
che devono avere pulsanti e spie di segnalazione) e quello relativo al cablaggio.
Importantissimo è il capitolo 9.2 relativo alle funzioni di comando e controllo. Qui
vengono definite le tre categorie di funzioni d’arresto:
 Categoria 0, arresto mediante sospensione immediata dell’alimentazione di potenza
agli attuatori della macchina (motori, pistoni idraulici,...);
 Categoria 1, arresto controllato mantenendo l’alimentazione di potenza agli
attuatori fino all’arresto della macchina e sospendendo poi la potenza ad arresto
avvenuto;
 Categoria 2, arresto controllato mantenendo l’alimentazione di potenza agli
attuatori di macchina.
Importantissimo è il capitolo riguardante la funzione di arresto di emergenza (è la
funzione svolta dal pulsante a fungo rosso presente su ogni macchinario) dove, oltre a
rimandare alla EN418 per i dettagli, viene imposto che ogni macchinario sia munito di
arresto di emergenza operante in categoria 0 e 1 da realizzarsi esclusivamente
mediante componenti elettromeccanici (per esempio non è possibile affidare, per ovvi
motivi, l’arresto di emergenza ad un PLC).
Interessante è anche il capitolo 12 dove si parla dell’equipaggiamento elettronico di
controllo, quindi di PLC e CNC. In particolare si dichiara che i PLC devono
rispondere alle normative IEC1131 dove sono specificate le caratteristiche a livello
elettrico, di programmazione (si veda il paragrafo relativo alla IEC1131-3 di seguito)
e comunicazione (per la verità il 99.9% dei PLC usati attualmente non è conforme a
questa normativa, se non altro a livello di programmazione...).
Per ultimo vi è un paragrafo che contempla le prove a cui deve essere sottoposto
l’equipaggiamento elettrico nel suo complesso prima della marcatura CE. In
particolare vengono prescritte prove di continuità del circuito di protezione, di
Pag. 60
PLC e Automazione Industriale
resistenza dell’isolamento, di tensione applicata (che è una prova di rigidità
dielettrica), di protezione contro le tensioni residue, di rispondenza alle normative per
quanto riguarda la compatibilità elettromagnetica e per finire un test funzionale di
tutto l’impianto.
EN60439 (o Riguarda i quadri cablati di manovra per bassa tensione e comprende alcune
CEI 17-13) interessanti prescrizioni per la compatibilità elettromagnetica. Viene detto che per
evitare prove di compatibilità elettromagnetica (che sono molto complesse, costose e
richiedono camere anecoiche, analizzatori di spettro,... , insomma è un bel casino!) è
possibile usare componenti elettrici già con marchio CE (quindi già testati riguardo
alle EMC) installati e cablati secondo le istruzioni del costruttore (per esempio viene
imposto l’uso di un particolare filtro, il collegamento tramite cavo schermato,...) in
modo da evitare le mutue influenze indebite.
CEI 64-8
Riguarda gli impianti elettrici utilizzatori a bassa tensione.
EN418
Riguarda i dispositivi di arresto di emergenza. Viene analizzato più in dettaglio
rispetto a quanto fatto dalle EN60204. Vengono prescritte le condizioni operative, la
forma e il colore degli attuatori (pulsanti a fungo,...) e in generale tutti i requisiti di
sicurezza che devono essere garantiti.
EN1088
Si occupa dei dispositivi di interblocco sui ripari (carter, cancelli,...).
EN50081-2 Si occupa della compatibilità elettromagnetica relativamente all’emissione in
ambiente industriale.
EN50082-2 Si occupa della compatibilità elettromagnetica relativamente all’immunità in
ambiente industriale.
EN55011
Prescrive i limiti e i metodi di misura delle caratteristiche di radiodisturbo negli
apparecchi industriali.
EN60555
Si occupa dei disturbi nelle reti di alimentazione prodotti da apparecchiature
(armoniche, fluttuazioni di tensione,...).
IEC1000
Si occupa delle tecniche di prova e di misura relativamente alla compatibilità
elettromagnetica (scariche elettrostatiche, burst, transienti veloci, ...).
Pag. 61
PLC e Automazione Industriale
Pag. 62
PLC e Automazione Industriale
5.2.3 Problematiche relative al software.
Lo schema di seguito mostra le principali problematiche in questo ambito.
Molte delle problematiche riportate sono già state trattate in dettaglio nei capitoli
precedenti mentre le altre verranno approfondite nel seguito quando si analizzeranno i
passi della metodologia di progettazione proposta.
5.2.4 Problematiche relative alla comunicazione fra sistemi.
Lo schema di seguito mostra un esempio delle problematiche da affrontare in questo
ambito.
Pag. 63
PLC e Automazione Industriale
Volendo sintetizzare quanto già accennato in precedenza, bisogna pensare al PLC
come ad un dispositivo che si deve integrare in un sistema più ampio, quello che
avevamo chiamato piramide CIM. La comunicazione fra le varie parti è fondamentale
perché è quella che garantisce l’integrazione e la sincronizzazione dei vari costituenti
del sistema. E’ chiaro che, perché il sistema possa funzionare efficientemente, occorre
prestare molta attenzione a come vengono realizzati i canali di comunicazione e la
struttura delle informazioni da trasmettere.
5.3 Analisi di una metodologia di progettazione
Per facilitare l’esposizione suddivideremo la metodologia in più passi che
corrispondono, a grandi linee, ai corrispondenti passi nel ciclo di vita della
progettazione di una automazione. Anche in questo campo, infatti, è possibile definire
un ciclo di vita che non si discosta molta da quello di altre attività di progettazione,
come per esempio il classico ciclo di vita a cascata definito in ingegneria del software.
Si avranno, in sequenza temporale, una fase in cui si esegue lo studio di fattibilità, la
specifica dei requisiti, il progetto, l’implementazione, il testing, il rilascio al cliente e,
importantissima nel nostro contesto, la fase di manutenzione. Nel seguito si farà
riferimento al caso canonico in cui la progettazione dell’automazione viene eseguita
dopo la definizione meccanica e funzionale dell’impianto. In altre parole non si parte da
zero ma lo studio di fattibilità, la specifica dei requisiti funzionali dell’impianto e una
buona parte della progettazione meccanica è già stata realizzata da altri (progettista
meccanico, ingegnere di processo,...). E’ chiaro che la qualità di questo lavoro fatto in
precedenza incide pesantemente sulla qualità della automazione che si riuscirà ad
ottenere. Molto dipende dalla capacità del progettista di questa prima fase nel
considerare a dovere tutte le problematiche, non solo quelle meccanico-funzionali che
sono di sua stretta competenza, ma anche quelle elettriche, elettroniche e controllistiche.
Si può intuire che questo non è semplice, infatti spesso succede di doversi arrabattare
Pag. 64
PLC e Automazione Industriale
per ovviare a situazioni che non erano state considerate nello studio iniziale, con ovvie
conseguenze sui costi e sulla qualità. Dove è possibile bisognerebbe sempre cercare una
cooperazione fra i progettisti dell’impianto e quelli dell’automazione anche in questa
fase iniziale: i benefici ottenuti sarebbero veramente consistenti.
5.3.1 Primo step: stesura delle specifiche funzionali.
Come già anticipato, nella maggioranza dei casi, l’attività di progettazione
dell’automazione parte da un lavoro preliminare in cui sono stati prodotti alcuni
documenti che costituiscono lo studio di fattibilità e una parte della specifica dei
requisiti del progetto. In primo luogo si ha il layout dell’impianto, cioè una vista
d’assieme che mostra la disposizione dei componenti che costituiscono l’impianto
(come una specie di pianta topografica dell’impianto nel suo complesso), le varie viste e
sezioni dei particolari meccanici, la definizione degli assi e delle movimentazioni da
effettuare. Molto spesso è già fornita una lista delle motorizzazioni dove vengono
definiti quanti e quali motori elettrici devono essere gestiti, la loro potenza, la velocità
nominale, le caratteristiche cinematiche richieste (range di variazione della velocità,
accelerazione,...), le modalità di avviamento (avviamento diretto, con softstart, con
azionamento,...), la tipologia del ciclo di lavoro previsto (per esempio 50% del tempo di
funzionamento a pieno carico e 50% del tempo al 30% del carico), e così via. Se previsti
sono anche forniti gli schemi pneumatici e oleodinamici da cui è possibile ricavare le
motorizzazioni delle pompe e l’elenco degli attuatori/trasduttori da gestire
(elettrovalvole, pressostati, sonde olio,...). Se si è particolarmente fortunati viene fornita
anche una descrizione del ciclo di funzionamento dell’impianto, spesso in linguaggio
naturale e raramente in un linguaggio semiformale o formale (diagramma di flusso,
automa a stati finiti, rete di Petri,...), che sarà molto utile durante la stesura del software
del controllore.
Da tutti questi documenti si deve creare un elenco completo dei dispositivi di
ingresso digitale (Finecorsa, sensori induttivi, pulsanti,...) anche se spesso i più
importanti sensori (ovvero le variabili da controllare) sono già stati previsti nella fase
preliminare dall’ingegnere di processo.
Dalla lista delle motorizzazioni e dagli schemi pneumatici e oleodinamici è possibile
ricavare l’elenco degli attuatori digitali da comandare (elettrovalvole, relè,
teleruttori,…).
Passando ai dispositivi analogici si ricava l’elenco dei dispositivi comandati da uscite
analogiche (inverter per velocità nastri, azionamenti, valvole proporzionali,…) o che
forniscono un segnale analogico che verrà collegato ad un ingresso analogico del
controllore e con il quale verranno realizzati feedback, regolazioni e monitoraggi
(sensori di temperatura, sensori di pressione, potenziometri lineari,…).
Per finire vengono elencati tutti gli altri dispositivi che richiedono, per la loro
gestione, particolari moduli del PLC (encoder per la gestione di posizionamenti,
dispositivi che richiedono una regolazione PID,…).
Dopo aver preparato tutti questi elenchi devono essere analizzate le condizioni
ambientali in cui deve operare l’apparecchiatura elettrica. In particolare bisogna prestare
attenzione al range di temperatura in cui deve essere garantito il funzionamento,
l’eventuale presenza di ambienti esplosivi, la presenza di acidi o vapori aggressivi,
l’altitudine (per esempio un inverter per la regolazione di velocità di un motore viene
garantito per installazioni fino a 1000m di altezza s.l.m., oltre deve essere
Pag. 65
PLC e Automazione Industriale
sovradimensionato), la presenza di polveri (sia conduttive che inerti), il grado di
protezione verso l’acqua e il vapore (in proposito vi sono normative che hanno
catalogato il grado di protezione delle apparecchiature rispetto all’acqua e alle polveri
secondo un valore numerico di 2 cifre detto grado di protezione IP), la presenza di
dispositivi molto critici in termini di emissione o immunità ai fenomeni
elettromagnetici, e così via. In questo ambito è molto importante definire anche
particolari vincoli sulle distanze o sulle dimensioni delle apparecchiature elettriche. Per
esempio la comunicazione via fieldbus fra due dispositivi molto distanti (>500m) può
richiedere il montaggio di amplificatori per la segmentazione in più tratte del
collegamento.
Di seguito deve essere analizzato il layout dell’impianto e, unito ad informazioni
relative ad abitudini e vincoli di operatività (dettate da condizioni ambientali e vincoli
sulla sicurezza operativa) da parte degli operatori umani, devono essere decise la
posizione, il numero e la tipologia dei pulpiti e delle pulsantiere per il comando
dell’impianto. In particolare deve essere prestata particolare attenzione alla completezza
e all’ergonomia dell’interfaccia verso l’operatore (pulsanti, indicatori, visualizzatori,
lampeggianti, sirene,...). E’ superfluo dire che anche in questo campo esistono tutta una
serie di normative atte a garantire una interfaccia il più possibile ergonomica e
standardizzata, questo per facilitare gli operatori che altrimenti si troverebbero di fronte
ad una babele di colori, indicazioni e simboli diversi per ciascuna macchina (per
esempio le norme ISO7000 standardizzano i simboli grafici per la descrizione della
semantica di pulsanti, selettori, spie,…). In questo contesto si devono anche analizzare
particolari zone dell’impianto che, per problemi di sicurezza, devono essere segregate
tramite barriere materiali (carter) o immateriali (barriera a fotocellule).
Di seguito è riportato un esempio pratico di documentazione creata in questo primo
passo.
Pag. 66
PLC e Automazione Industriale
5.3.2 Secondo step: stesura del topologico dell’impianto.
Pag. 67
PLC e Automazione Industriale
Questo secondo passo consiste nel raffinare le informazioni ricavate nel passo
precedente suddividendo l’impianto in sottoparti atomiche funzionalmente omogenee.
Per ciascuna sottoparte deve essere approntato un elenco dettagliato con tutti gli ingressi
e le uscite, digitali o analogici, che lo interessano con una breve, univoca ed esauriente
descrizione. Se questi sono riferiti ad organi di comando o segnalazione deve essere
indicato anche il nome (o numero) del pulpito o della pulsantiera dove verrà montato. Di
seguito vengono riportati alcuni esempi relativi a una centralina idraulica, a motori in
corrente alternata (in avviamento diretto a singola e doppia velocità), ad un gruppo
oleodinamico comandato da valvola proporzionale (cioè che permette la regolazione
continua della velocità di un pistone idraulico in funzione di un ingresso analogico) e ad
un azionamento.
Pag. 68
PLC e Automazione Industriale
Pag. 69
PLC e Automazione Industriale
Pag. 70
PLC e Automazione Industriale
Alla fine viene fatto un riepilogo con il numero effettivo di ingressi e uscite digitali e
analogici, il numero degli encoder e di moduli speciali (schede assi, moduli PID,…). Da
questi, lasciando una congrua scorta e considerando la modularità delle schede (per
esempio se ho schede da 16 input il numero trovato deve essere multiplo di 16), si
ricava il numero di punti di I/O predisposti e il numero di schede necessarie. A rigore
non è necessario lasciare una scorta abbondante; per un PLC di tipo espandibile è
sufficiente prevedere lo spazio nell’armadio elettrico per poter montare moduli di bus
aggiuntivi sui quali verranno innestati i moduli che si renderanno necessari nel caso
(probabilissimo) di modifiche o aggiunte future.
In questa fase rientra anche la creazione del layout elettrico, cioè prendendo come
base il layout dell’impianto viene indicata la posizione di tutti i dispositivi elettrici ed
elettronici posti sul campo (finecorsa, sensori, elettrovalvole, pulpiti,…). Questo
risulterà utilissimo come documentazione accessoria allo schema elettrico durante le fasi
di cablaggio dell’impianto e durante la normale manutenzione.
5.3.3 Terzo step: stesura dello schema elettrico.
Da questo passo ha inizio la vera e propria progettazione; tutto quanto generato dal
secondo passo diventa la base per la progettazione dello schema elettrico. Un tecnico
elettrotecnico, partendo solo dalla documentazione già disponibile, è in grado di
effettuare la progettazione elettrica e la stesura dello schema. Naturalmente questo vale
solo se la specifica dei requisiti fatta nei primi due passi è stata realizzata in modo
esaustivo e senza ambiguità.
Normalmente si parte con la progettazione della parte di potenza dell’impianto
(avviamento motori, azionamenti,...) tenendo ben presente le problematiche di tipo
dimensionale e quelle di tipo normativo viste ai paragrafi 5.2.1 e 5.2.2.
Pag. 71
PLC e Automazione Industriale
Poi si prosegue con la progettazione degli ausiliari in alternata, cioè la parte relativa
ai comandi che non rientrano sotto il controllo del PLC, ma sono realizzati attraverso
contatti elettromeccanici di relè e teleruttori normalmente operanti ad una tensione
alternata di 24V o 110V. Rientrano in questo contesto gli importantissimi circuiti per gli
arresti di emergenza (i tipici pulsanti a fungo rossi) che, come detto in precedenza, per
questioni di affidabilità non possono essere gestiti direttamente dal PLC. Addirittura
devono essere previste particolari soluzioni circuitali affinché ogni possibile
malfunzionamento dei dispositivi non possa compromettere il regolare funzionamento
delle emergenze. Esistono particolari dispositivi, chiamati moduli di sicurezza, che
sfruttando la ridondanza dei relè che stanno al loro interno riescono a garantire queste
funzionalità.
Per finire viene eseguita la progettazione della parte di comando vera e propria con la
definizione della configurazione dei PLC e di tutti i dispositivi connessi. In questo
contesto vengono assegnati gli indirizzi fisici per tutti gli elementi di ingresso e uscita
del PLC (per esempio si definisce che il pulsante di avviamento ciclo di automatico
deve essere connesso all’ingresso del PLC con indirizzo E1.0).
Il risultato di questo processo è lo schema elettrico, cioè una rappresentazione grafica
schematizzata dei dispositivi elettrici e dei collegamenti circuitali, e la distinta dei
materiali, cioè l’elenco di tutti i componenti elettrici dell’impianto. Come è facile
immaginare i simboli grafici che rappresentano i vari componenti in uno schema
elettrico sono standardizzati a livello mondiale (in particolare vale la norma IEC617)
proprio per rendere leggibili gli schemi elettrici ai tecnici manutentori di qualsiasi paese.
Inoltre lo schema deve riportare tutta una serie di informazioni fondamentali quali la
numerazione dei fili nei circuiti, la sigla di tutti i dispositivi dell’impianto, i riferimenti
verso altri fogli dello schema, brevi descrizioni anche in più lingue, ecc. Per questo
risulta quasi indispensabile usare sussidi informatici (chiamati CAD elettrici o CAE) per
la stesura dello schema che permettono di automatizzare alcune operazioni quali la
numerazione dei fili, la siglatura dei componenti, la gestione dello schema su più fogli
(e quindi la gestione dei riferimenti incrociati), la gestione di descrizioni su più lingue e,
addirittura, la generazione automatica della distinta materiali.
Il processo di progettazione, per quanto riguarda la parte elettrica, termina qui: la
distinta materiali servirà per l’acquisto dei componenti mentre lo schema elettrico sarà
la documentazione, necessaria e sufficiente, che verrà utilizzata in fase di cablaggio dei
quadri elettrici.
Di seguito vengono riportati alcuni esempi di fogli tratti da uno schema elettrico per
quanto riguarda la parte di potenza (le prime due figure), la parte degli ausiliari e la
parte del PLC (le ultime 2 figure).
Pag. 72
PLC e Automazione Industriale
Pag. 73
PLC e Automazione Industriale
5.4 Codifica del ciclo del PLC
In genere il processo che porta alla creazione del programma per il PLC si inserisce,
temporalmente, fra la stesura dello schema elettrico e il collaudo dell’impianto, in
parallelo alla fase di realizzazione e cablaggio. In effetti, vista la difficoltà di simulare o
ricreare l’impianto a tavolino (si pensi a quanto può essere difficile simulare un
impianto con migliaia di dispositivi!), il test del programma del PLC viene eseguito
quasi sempre durante il collaudo dell’impianto stesso. Tuttavia, a parte questo fatto,
anche qui si può (e si deve) applicare un approccio ingegneristico come per un qualsiasi
programma (vedi ingegneria del software). In particolare lo studio di fattibilità e la
Pag. 74
PLC e Automazione Industriale
specifica dei requisiti sono già stati realizzati e la documentazione relativa è disponibile
(vedi figura sottostante).
L’unico documento di specifica non ancora disponibile all’inizio di questa fase è la
lista delle attribuzioni (anche se i più recenti ed evoluti CAD elettrici permettono di
generarlo in automatico partendo dalle informazioni già disponibili nello schema
elettrico). Questa è una definizione, secondo un dato linguaggio proprio del PLC
utilizzato, di tutti gli ingressi e uscite digitali e analogici. In genere per ciascun elemento
viene definito un stringa mnemonica univoca (per esempio FCRL1 per indicare il
finecorsa di presenza materiale per la rulliera 1), l’indirizzo fisico reale (per esempio
E1.0) e un commento. Nello schema di seguito è riportato un esempio di lista delle
attribuzioni.
Pag. 75
PLC e Automazione Industriale
Quando si prosegue con la progettazione del programma, nella lista delle attribuzioni
verranno inserite anche tutte le variabili interne al PLC (Merker, temporizzatori,
contatori, registri, basi di dati,...) man mano che questi vengono impiegati. L’uso della
lista delle attribuzioni permette di migliorare la leggibilità del programma (è meglio
usare FCRL1 piuttosto che E1.0 perché la prima forma mi ricorda la funzione di
quell’ingresso) e di svincolare il sorgente dagli indirizzi fisici del PLC con indubbi
vantaggi nel caso di riorganizzazioni e modifiche.
Per quanto riguarda la progettazione del programma del PLC conviene attuare il
classico approccio del «divide et impera» suddividendo l’impianto nel suo complesso
in più stazioni che risultano più semplici da trattare. Per stazione si intende una
sottoparte omogenea e ben identificabile dell’impianto che risulta il più possibile
funzionalmente disaccoppiata dal resto. Per esempio nel caso di un impianto per la
produzione di bottoni in plastica una possibile scomposizione in stazioni potrebbe
essere: caricatore lastre di plastica, allineatore e sincronizzatore d’ingresso, stampaggio,
raccoglitore a imbuto, foratura, sbavatura, lucidatura, incisione e inscatolamento. Fra le
varie stazioni adiacenti devono essere stabilite delle chiare interfacce per la
sincronizzazione delle lavorazioni. E’ molto importante, per la coerenza del sistema, che
i flag di sincronizzazione operino secondo il noto schema del produttore-consumatore
(nell’esempio precedente fra la stazione di foratura e quella di sbavatura viene definito
un flag: la prima lo setta quando rende disponibile un bottone alla seconda e non
procede col successivo finché non torna basso; la seconda lo resetta quando preleva il
bottone dalla zona di scambio). In questo modo è possibile progettare il ciclo delle
singole stazioni disinteressandosi di quanto avviene nelle stazioni a monte e a valle
perché, se i meccanismi di sincronizzazione definiti sono coerenti, il link fra le varie
stazioni è automatico. Per la verità non sempre è possibile applicare questo genere di
scomposizione, per esempio dove le varie parti di un impianto sono poco disaccoppiate
potrebbe non essere conveniente attuare una politica di questo tipo perché richiederebbe
un interlacciamento troppo intricato fra le varie stazioni. Tuttavia, dove è attuabile, i
vantaggi ottenuti sono innegabili.
Per quanto riguarda la singola stazione la prima cosa da progettare sono le procedure
di inizializzazione che devono essere eseguite ad ogni ripartenza dell’impianto (sia
partenza a freddo che partenza a caldo). In questo contesto rientrano le inizializzazioni
dei moduli speciali (per esempio quelli di conteggio), il ripristino di alcune variabili
interne, l’esecuzione di alcuni controlli di matching fra la posizione effettiva della
macchina e quella presunta dallo stato delle variabili interne, e così di seguito. Per
quanto riguarda il ciclo vero e proprio conviene progettare, per primi, i movimenti in
manuale (cioè quelli comandati manualmente dall’operatore per mezzo di selettori e
pulsanti posti sulla consolle). Questi, oltre ad essere più semplici, possono essere
utilizzati come base per la progettazione delle sequenze in automatico (cioè le
sequenze di comandi gestite autonomamente dal PLC senza la presenza dell’operatore);
basta infatti aggiungere nuovi rami in parallelo a quanto già progettato per il manuale.
Dopo la progettazione delle sequenze di automatico conviene eseguire la progettazione
delle strutture dati per il tracking dei materiali (cioè i dati identificativi di un lotto di
materiale con i quali è possibile tener traccia degli spostamenti dei lotti nell’impianto),
quelle per lo scambio dati con i sistemi SCADA e quelle usate per la raccolta dei dati
sul processo e sul prodotto.
Pag. 76
PLC e Automazione Industriale
5.4.1 Comandi in manuale.
Per la progettazione dei movimenti in manuale occorre individuare tutti quegli
attuatori sul capo (motori, pistoni,…) per i quali è prevista la possibilità di un comando
diretto da parte dell’operatore. Di solito si usano pulsanti e selettori posti sulla consolle
di comando nel caso di movimentazioni frequenti, oppure si utilizzano pulsanti virtuali
forniti dai sistemi SCADA nel caso di movimentazioni poco frequenti. In genere si
tende a dare la possibilità di poter effettuare tutte le movimentazioni possibili anche in
manuale per dar modo di far fronte a situazioni non previste (per esempio per il
disincagliamento del materiale). In ogni caso, anche per quanto riguarda le
movimentazioni in manuale, devono essere previsti tutti quegli accorgimenti
(ampiamente riportati dalle normative) atti a garantire la sicurezza (e quindi evitare
infortuni) durante tutte le operazioni. Per esempio eventuali barriere, materiali o
immateriali, non possono venire escluse durante i movimenti in manuale a meno di non
usare altri accorgimenti che garantiscono comunque la sicurezza dell’impianto (come la
riduzione di velocità dei movimenti, comandi a 2 mani,…). Un altro importante aspetto
da considerare è che occorre inserire, il più accuratamente possibile, tutte le condizioni
che abilitano la movimentazione (Finecorsa, barriere di sicurezza, flag di
sincronizzazione fra le stazioni,…) avendo l’accortezza di generare un allarme se entro
un certo tempo non è possibile eseguire il movimento (timeout) e indicando chiaramente
il motivo per cui non è stato possibile far fronte alla richiesta (per esempio un tipico
allarme di timeout potrebbe essere: “Uscita materiale non possibile: la rulliera d’uscita
risulta occupata. Premere F1 per dettagli”; il dettaglio sarà: ”Il FC62 della rulliera 3
connesso all’ingresso E1.0 è a 1 e non si è liberato in tempo utile”).
5.4.2 Comandi in automatico.
Come detto in precedenza la progettazione del ciclo di automatico si può realizzare
partendo da quanto progettato per i movimenti in manuale. In effetti, per i casi più
semplici, basta aggiungere nuovi rami in parallelo a quanto già progettato per il
manuale. Nei casi più complessi, per esempio dove il ciclo di automatico è costituito da
complesse funzioni sequenziali, occorre progettare a parte, in modo implicito o
esplicito, un automa a stati finiti che tenga traccia dello stato raggiunto nella sequenza di
automatico. Un possibile metodo di tipo esplicito è quello di memorizzare lo stato del
ciclo di automatico su alcuni flag e progettare le condizioni di passaggio da uno stato
all’altro per mezzo di reti combinatorie. Per esempio un banalissimo ciclo di automatico
potrebbe richiedere, se viene premuto un pulsante di start, il movimento di un pistone in
avanti fino a raggiungere il sensore 1 e poi indietro finché si raggiunge il sensore 2. In
questo caso si potrebbero definire 3 flag per lo stato: il flag 1 che indica lo stato iniziale
di attesa per il comando di automatico, il flag 2 che indica lo stato di pistone avanti e il
flag 3 quello di pistone indietro. Le reti combinatorie per il passaggio di stato sono
semplicissime:
* Se flag 1 AND start AND automatico -> flag 1=0, flag 2=1;
* Se flag 2 AND sensore 1 -> flag 2=0, flag 3=1;
* Se flag 3 AND sensore 2 -> flag 3=0, flag 1=1;
* Se NOT automatico -> flag 2=0, flag 3=0, flag 1=1.
Nella rete che codifica i movimenti in manuale sarà sufficiente inserire in parallelo ai
comandi delle elettrovalvole di avanti e indietro del pistone rispettivamente il flag 2 e il
Pag. 77
PLC e Automazione Industriale
flag 3. Questo metodo, pur essendo il più generale visto che è applicabile a qualsiasi
tipo di PLC, presenta alcuni inconvenienti. In primo luogo occorre prestare molta
attenzione alle situazioni critiche, in particolare alle condizioni di deadlock dovute a
possibili sfasamenti fra lo stato fisico dell’impianto e lo stato logico, cioè lo stato in cui
il PLC crede di essere. In questo caso occorre sempre prevedere la possibilità di un
ripristino della condizione iniziale che può essere di tipo manuale, se dato
dall’operatore, oppure automatico nel caso si utilizzi una rete combinatoria di
supervisione degli stati. Un altro problema di questo metodo è che, se la sequenza da
progettare è molto complessa, si rischia di creare del codice poco leggibile e poco
manutenibile. La soluzione in questi casi è quella di utilizzare metodi di
programmazione implicitamente sequenziali come, per esempio, gli schemi graftec
(descritti al paragrafo 4.2.3.2) o i sequential function charts (SFC) previsti dalle
normative IEC1131 (descritti al paragrafo 4.3).
5.4.3 Progettazione dei dati.
I dati rivestono la stessa importanza del programma e quindi devono essere trattati
adeguatamente durante la progettazione. Al paragrafo 4.2.3.3 sono state riportate le
regole principali da rispettare per una buona ed efficiente progettazione dei dati.
5.4.4 Regole fondamentali.
Vi sono alcune regole fondamentali che devono essere rispettate in fase di progetto.
In primo luogo occorre prestare estrema attenzione ai casi particolari e alle eccezioni
che si potrebbero verificare durante il funzionamento dell’impianto, specialmente per
quanto riguarda situazioni potenzialmente pericolose per quanto riguarda la sicurezza
degli operatori. La variabilità dei materiali in lavorazione, il turnover degli operatori e la
loro ignoranza riguardo ai principi di funzionamento dell’impianto, l’improvviso guasto
di sensori/attuatori che potrebbero fornire informazioni errate sul processo o non
rispondere adeguatamente ai comandi, sono solo alcuni dei possibili problemi che si
possono verificare (e purtroppo anche di frequente) su un impianto. Se queste situazioni
non vengono trattate adeguatamente l’impianto nel suo complesso può diventare
inefficiente o addirittura inutilizzabile. Il minimo da fare è prevedere comandi o
sequenze di ripristino sia azionate dagli operatori sia operanti in automatico.
Un altro punto importante a cui prestare attenzione è l’interfaccia verso gli operatori
(HMI, human machine interface) soprattutto per quanto riguarda i comandi in manuale.
Una buona ergonomia, quindi comandi semplici, intuitivi, non ambigui, è fondamentale
per il corretto utilizzo dell’impianto da parte dell’operatore. Bisogna considerare che
l’operatore è spesso un operaio che non conosce il principio di funzionamento
dell’impianto e spesso non è in grado di comprendere segnalazioni (targhette di
identificazione dei pulsanti, messaggi visualizzati sui sistemi di supervisione,
manuali,...) troppo tecniche o magari non nella sua lingua (per esempio la segnalazione
«azionamento inverter up/down» sarebbe da evitare...).
Altra situazione in cui occorre prestare particolare attenzione è la gestione degli
allarmi sull’impianto. Occorrono prevedere segnalazioni chiare e immediate per
permettere l’individuazione e il ripristino delle cause di allarme. E’ importante
progettare il ciclo di automatico in modo da garantire la ripartenza del ciclo dopo un
allarme dal punto in cui si era interrotta la lavorazione (si devono prevedere apposite
Pag. 78
PLC e Automazione Industriale
strutture dati e programmi in proposito). Per esempio è da evitare, se possibile, la
necessità di svuotare l’impianto dai materiali in lavorazione nel caso di intervento di un
allarme.
Pag. 79
PLC e Automazione Industriale
6. Domande ed esercizi
Di seguito si presentano alcune domande ed esercizi risolti, tratti da appelli d’esame del
corso di “Elettronica industriale”, che si propongono come utile test di verifica del grado
di apprendimento.
QUESITI
1) Se E0.0 è un evento di allarme, E0.1 è il comando di ripristino e A0.0 la lampada di
allarme, quale struttura si utilizza?
a)
b)
E 0.0
A0.0
E0.1
A0.0
E0.0
A0.0
E0.1
A0.0
Descrivere brevemente le due strutture a) e b) in termini di differenze funzionali
2) Per l’implementazione di un sistema di comunicazione nell’ambito di un singolo
stabilimento si fa uso di
a) Local Area Network (LAN)
b) Fieldbus
Si enuncino le caratteristiche generali di un Fieldbus
3) Il sistema di comunicazione all’interno di un azienda è visto in ottica CIM come un
settore tecnologico
a) vero
b) falso
Si enuncino i settori tecnologici previsti dal CIM
4) Un PLC si differenzia da un computer industriale o da un PMC perchè
a) Ha un hardware più potente
b) Ha un software di base più potente
c) Può essere programmato in linguaggio “Assembly”
Si descrivano brevemente le tecniche di programmazione di un PLC
Pag. 80
PLC e Automazione Industriale
5) Descrivere brevemente il funzionamento di un timer e di un contatore
6) Una regola di corretta programmazione (Ladder) dei PLC e’
a)limitare al massimo l’uso dei merker
b)assegnare merker e uscite una sola volta nel programma
c)compattare il programma in pochi segmenti, anche se complessi e articolati
7)Dato il seguente diagramma, dove E0.0 indica che il selettore locale/remoto e’ su
locale, E0.1 indica che il selettore e’ su remoto, E0.2 e’ il pulsante di start da locale,
E0.3 e’ il pulsante di start da remoto, M0.0 e’ la condizione di arresto, se commuto il
selettore locale/remoto mentre la pompa A0.0 e’ in moto, allora la pompa si ferma
a) vero
b) falso
E0.0
E
E0.2
E
M0.0
A0.0
M
A
0.
0.
0.E0.3
E
E
0
0
2
0
A.0.0
0.
0.
3
1 A
0. due motori, uno che lo fa
8) Si supponga di movimentare un carrello su guida mediante
0 sinistra (A0.1). Siano E0.0
muovere verso destra (A0.0) e uno che lo fa muovere verso
un pulsante di marcia a destra, E0.1 un pulsante di marcia a sinistra, E0.2 il fine corsa a
destra e E0.3 il fine corsa a sinistra. Scrivere il programma mediante ladder che
controlla il movimento del carrello, arrestandolo a fine corsa.
0.
E0.1
9) Si supponga che un PLC implementi il controllo di un motore che comanda un
carrello: il PLC ha due uscite A0.0 e A0.1 che determinano il movimento in avanti e
indietro del carrello rispettivamente, ingressi E0.0 per il termico, E0.1 per comando
manuale di selezione avanti, E0.2 per comando manuale di selezione indietro, E0.3
segnale di finecorsa avanti, E0.4 segnale di finecorsa indietro. Inoltre è stata prevista
una modalità automatica di funzionamento la cui informazione è contenuta in tre merker
M1.0 che identifica la modalità automatica , M0.0 e M0.1 il comando automatico avanti
e indietro rispettivamente. Scrivere il programma mediante lista istruzioni per il
controllo dell’uscita A0.0.
SOLUZIONE
1) Si utilizza la struttura a)
Le strutture a) e b) sono classiche strutture ad autoritenuta che vengono utilizzate per
memorizzare eventi. L’evento da memorizzare è indicato con E0.0, mentre l’evento di
sblocco è indicato con E0.1 (se E0.1 è attivo allora il contatto NC si apre diseccitando la
bobina A0.0). Le due strutture differiscono solo nel caso siano contemporaneamente
attivi sia E0.0 che E0.1: la prima struttura, detta start-prevalente o set-prevalente,
Pag. 81
PLC e Automazione Industriale
mantiene la memorizzazione dell’evento, mentre la seconda, detta stop-prevalente o
reset-prevalente, privilegia l’azione di sblocco. Nel caso l’evento sia un allarme, qualora
si cerchi di ripristinarlo mentre persiste la condizione di allarme, è decisamente più
opportuno mantenere memorizzata la condizione di allarme. Al contrario se l’evento
fosse stato l’abilitazione ad un motore, sarebbe stato meglio utilizzare la struttura stopprevalente.
2) Local Area Network (LAN)
I Fieldbus, o bus di campo, rappresentano il livello più basso di comunicazione in
ambito aziendale e consentono lo scambio di informazioni tra controllori di cella, quali
computer industriali o PMC, PLC, dispositivi di programmazione, controlli per robot e
macchine utensili, sensori e attuatori. I Fieldbus operano quindi a livello di cella, sono
veloci (Mbaud) e semplici (pochi utenti con messaggi concisi), utilizzano generalmente
mezzi trasmissivi a basso costo (RS485 su doppino o fibre ottiche a basso costo), e
difficilmente sono descritti a tutti i livelli ISO/OSI, come invece avviene per i bus di
area (Es. MAP). In Europa gli standard più diffusi sono Profibus, Interbus-S, FIP: ad
esempio il Profibus (Process Field Bus), basato sullo standard DIN 19245, consente di
collegare i tipici utenti di cella anche se di differenti case costruttrici.
3) falso. Il sistema di comunicazione all’interno di un azienda collega i diversi settori
tecnologici.
Si enuncino i settori tecnologici previsti dal CIM:
CAD (Computer Aided Design) –progettazione computerizzataCAM (Computer Aided Manufacture) –macchine a controllo numerico diretto, FMSCAT (Computer Aided Test) –sistema di controllo computerizzato del manufattoPianificazione e controllo delle lavorazioni –Es. “just in time”Tecnologie o pianificazione di processo –Es. approccio variante o generativoRobotica –Robot=manipolatore programmabile multifunzioneMovimentazione automatica dei materiali –magazzini automatizzati, veicoli
trasportatori a guida automatica4) Un PLC si differenzia da un computer industriale o da un PMC perché ha un software
di base più potente. Infatti, mentre l’hardware di un PLC può essere più o meno potente
di quello di un PMC (un PLC economico è comunque meno costoso di un computer
industriale o PMC economico), il software di base di un PLC consente all’utente di
programmare indipendentemente dal tipo di hardware utilizzato, mentre nel caso del
PMC, anche se possono esservi software di supporto alla programmazione (Scheduler,
sistemi operativi,..), è sempre possibile programmare il sistema in modo da avere il
controllo diretto dell’hardware (es. linguaggio “Assembly”).
Si descrivano brevemente le tecniche di programmazione di un PLC:
I primi PLC si potevano programmare esclusivamente in linguaggio ladder. Il
linguaggio ladder fornisce una descrizione a contatti delle funzioni logiche da
implementare, in accordo a come si era soliti documentare le logiche implementate a
relais (linguaggio orientato al personale di formazione elettrotecnica): il programma
consta di più segmenti formati ciascuno da una fila di elementi di base (contatti,
Pag. 82
PLC e Automazione Industriale
bobine,…) dove si ipotizza un flusso di corrente da sinistra a destra. In seguito sono stati
sviluppati un linguaggio grafico, che consente una descrizione tipo schema elettrico
funzionale (orientato al personale di formazione elettronica), e un linguaggio testuale,
che consente una descrizione a lista di istruzioni (orientato al personale di formazione
informatica). Recentemente è stato sviluppato un linguaggio (IEC 1131-3) che
rappresenta uno standard di programmazione per i PLC al quale i costruttori si stanno
uniformando, particolarmente per le applicazioni più complesse.
5)Un timer è un contatore di tempo e, se abilitato, si incrementa dopo che è trascorso un
tempo detto “base tempi”. Un timer dispone di un ingresso di abilitazione e viene
programmato con un numero detto “costante di tempo”. Quando il timer è abilitato si
incrementa ad ogni base tempi e, dopo aver raggiunto un numero pari alla costante di
tempo, si attiva. Se il timer viene disabilitato il conteggio riparte da zero, tuttavia
esistono tipi di timer che mantengono memoria dei conteggi parziali (timer con
autoritenuta). Esistono diversi di timer e, all’interno di una stessa tipologia, timer con
diverse costanti di tempo.
Un contatore invece conta il numero di impulsi di un ingresso. Esistono contatori con
più ingressi (incrementa, decrementa, reset,…); quando il conteggio raggiunge la
costante di tempo il contatore si attiva.
6) Una regola di corretta programmazione dei PLC e’ assegnare merker e uscite una sola
volta nel programma (b). Al contrario, limitare al massimo l’uso dei merker o
compattare il programma in pochi segmenti, anche se complessi e articolati, rende il
programma meno leggibile e quindi meno affidabile.
7) Dato il diagramma, dove E0.0 indica che il selettore locale/remoto e’ su locale, E0.1
indica che il selettore e’ su remoto, E0.2 e’ il pulsante di start da locale, E0.3 e’ il
pulsante di start da remoto, M0.0 e’ la condizione di arresto, se commuto il selettore
locale/remoto mentre la pompa A0.0 e’ in moto, allora la pompa non si ferma (b).
Per rendere il sistema più sicuro, e quindi fare in modo che in tale condizione il motore
si fermi,si deve ricorrere a due merker ausiliari (M0.1=marcia da locale, M0.2= marcia
da remoto)
E0.0
E0.2
M0.0
E0.1
M0.1
E0.3
M0.0
E0.0
M0.2
M0.1
E0.1
M0.2
M0.1
A0.0
M0.2
Pag. 83
PLC e Automazione Industriale
8) Si supponga di movimentare un carrello su guida mediante due motori, uno che lo fa
muovere verso destra (A0.0) e uno che lo fa muovere verso sinistra (A0.1). Siano E0.0
un pulsante di marcia a destra, E0.1 un pulsante di marcia a sinistra, E0.2 il fine corsa a
destra e E0.3 il fine corsa a sinistra. Scrivere il programma mediante ladder che
controlla il movimento del carrello, arrestandolo a fine corsa.
Si deve far muovere il carrello a destra se viene pigiato il relativo pulsante, sul quale
deve esserci autoritenuta, e se non è stato raggiunto il relativo fine corsa o non è stato
premuto il pulsante in direzione opposta. Analogamente accade per il moto a sinistra.
E0.0
E0.2
E0.1
A0.0
A0.0
E0.1
E0.3
E0.0
A0.1
A0.1
9)
E0.0 =TERMICO
E0.1=SL AVANTI
E0.2=SL INDIETRO
E0.3=FC AVANTI
U(
U M1.0
U M0.0
UN M0.1
O
UN M1.0
U E0.1
UN E0.2
)
U E0.0
UN E0.3
UN A0.1
=A0.0
Pag. 84
E0.4=FC INDIETRO
M0.1=CMD AUTO IND
M1.0=AUTO
M0.0=CMD AUTO AV
A0.0=AVANTI
A0.1=INDIETRO
In pratica il primo blocco di istruzioni codifica la richiesta di
movimento in avanti del carrello: il blocco tra parentesi infatti torna uno
in RLC nel caso ci si trovi in modalità automatica (M1.0=1) con
comando di avanti (M0.0=1) e non abbia comando automatico di
indietro(M0.1) oppure nel caso di modalità manuale (M1.0=0) con
comando di avanti a uno e quello di indietro a zero(per evitare conflitti
se entrambi i segnali di comando sono alti si assume che l’uscita sia
bassa). Le istruzioni restanti si occupano di fare controlli di sicurezza: si
controlla che non ci sia segnalazione di fine corsa avanti, che non sia
alta l’uscita complementare A0.1 e se tutto è soddisfatto si mette a uno
A0.0.
PLC e Automazione Industriale
APPENDICE A (Simboli circuitali ANSI-IEEE Std.91)
Dal 1984 è in vigore uno standard per la rappresentazione simbolica dei dispositivi
digitali sviluppato dall'ANSI (American National Standards Institute) in collaborazione
con IEEE (Institute of Electrical and Elecronic Engineers). I componenti vengono
rappresentati con dei rettangoli nei quali il flusso dei segnali va da sinistra a destra:
all'interno del rettangolo compare un simbolo (General qualifying symbol) ad indicare la
funzione logica. Le linee di ingresso o uscita possono essere caratterizzate da quattro
parametri: livello/stato esterno (External state/level), livello/stato interno (Internal
state/level), caratterizzazione esterna (External qualifying symbol) e caratterizzazione
interna (Internal qualifying symbol).
General qualifying symbol
Qualifying symbol (each line)
Input lines
Output lines
External state/level
Internal state/level
Simbolo
&
1
=1
=
‘1’
MUX
COMP
S
P
ALU
X/Y
SRGm
CTRm
RAM
ROM
….
Significato
AND
OR
XOR
Equivalenza
Ingresso o uscita forzato a “1”
Multiplexer
Comparatore
Sommatore
Moltiplicatore
Arithmetic Logic Unit
Convertitore di codice da X a Y
m-bit shift register
Contatore a m-bit
Random Access Memory
Read Only Memory
&
Porta NAND
D
Flip-flop “D”
Pag. 85
PLC e Automazione Industriale
APPENDICE B :Regolatori PID con PLC
L’utilizzo di un regolatore PID digitale in un PLC può avvenire in due differenti
forme: per mezzo di appositi moduli oppure direttamente a livello di programma utente.
Il primo caso è poco significativo (anche se è il più comune) perché l’algoritmo del
regolatore PID è implementato direttamente nel modulo e l’unica cosa da fare è
passargli i parametri (setpoint, costanti proporzionale, integrale e derivativa, frequenza
del controllo, ecc.). In genere il modulo ha la possibilità di accettare un ingresso
analogico per la variabile da controllare e fornisce una uscita analogica per la variabile
di controllo. Questi moduli sono molto semplici da utilizzare e permettono tempi di
ciclo sul controllo estremamente ridotti (partendo da qualche centinaio di microsecondi)
e quindi la possibilità di regolare sistemi con una costante di tempo molto bassa (per
esempio gli azionamenti di una machina utensile richiedono tempi di ciclo <= 1
millisecondo). Per contro hanno un costo non indifferente.
Nel caso si debba regolare un sistema molto lento, cioè con una costante di tempo
molto alta (come per esempio la regolazione di temperatura di un forno industriale), può
essere sufficiente utilizzare un regolatore PID implementato a livello software sul PLC.
Molti modelli di PLC mettono a disposizione del programmatore istruzioni speciali o
blocchi di programma a livello firmware che realizzano direttamente un ciclo di
controllo PID. Per realizzare un controllore PID è sufficiente eseguire ciclicamente
queste istruzioni secondo la frequenza di controllo desiderata. Naturalmente la lettura
della variabile da controllare (per esempio una sonda di temperatura connessa ad una
scheda di ingresso analogica) e la fuoriuscita della variabile di controllo (per esempio
una uscita analogica che comanda la valvola proporzionale del gas di un bruciatore)
devono essere realizzate a livello di programma utente. Di seguito vedremo nel dettaglio
il blocco OB251 messo a disposizione in modo nativo dai PLC Siemens S5 per la
creazione di un controllore PID. Questo blocco viene eseguito in circa 2 millisecondi
quindi, considerato che il PLC deve fare anche tante altre cose, è ben difficile regolare
un sistema con una costante di tempo < 0.2 secondi (assumendo un tempo di ciclo PLC
di 20 millisecondi e considerando empiricamente che la costante di tempo del sistema
deve essere almeno 10 volte il tempo di ciclo del controllore PID).
Pag. 86
PLC e Automazione Industriale
Questo blocco per funzionare ha bisogno di un blocco dati dove vengono
memorizzati i parametri del regolatore e i risultati parziali per ciascuna iterazione;
ciascun dato sarà memorizzato ad una ben precisa word (DW) del blocco dati (DB3
nell’esempio). Dallo schema a blocchi del regolatore si vede che sono presenti 3
deviatori (S1, S2 e S3) che permettono di variare il funzionamento del blocco e vengono
impostati per mezzo della word di controllo (STEU): S1 permette di scegliere l’ingresso
del differenziale fra l’errore (se posizione 0) e un’altra grandezza proveniente
dall’esterno (per esempio è possibile far entrare la stessa uscita YA in modo da evitare
problemi di gradini sul set point); S2 permette (se posizione 0) di comandare
manualmente l’uscita di controllo; S3 permette di scegliere fra l’uscita come variazione
della grandezza regolatrice (dYA, detto algoritmo di velocità) oppure l’uscita come la
tradizionale grandezza regolatrice (YA, detto algoritmo di posizione). Lo schema
seguente riporta i calcoli eseguiti nei due casi.
Pag. 87
PLC e Automazione Industriale
Per finire si riporta un semplice esempio di programma che realizza un regolatore di
tipo PID. In questo caso viene utilizzato il blocco dati DB3 dove la word DW21
memorizza la variabile da controllare X, la DW9 memorizza il valore di set point W e la
DW48 contiene, al termine dell’elaborazione, il valore di comando YA. Naturalmente si
assume che gli altri parametri (K, R, TI, TD,...) siano già presenti nel blocco dati (per
esempio sono stati caricati in fase di partenza a freddo, nell’OB21).
Pag. 88
PLC e Automazione Industriale
Pag. 89
PLC e Automazione Industriale
BIBLIOGRAFIA
 A. Kochan, D. Cowan, "CIM: CARATTERISTICHE E APPLICAZIONI", Clup.
 "CIM REVIEW - THE JOURNAL OF COMPUTER
MANUFACTURING MANAGEMENT", Auerbach Publisher.
INTEGRATED
 J. Harrington, "COMPUTER INTEGRATED MANUFACTURING, Krieger, 1979.
 C. Celati, "PLC: PROCESSI, SISTEMI, AUTOMI", Hoepli.
 G. Ortolani, E. Venturi, "SCHEMI E APPARECCHI NEGLI IMPIANTI
ELETTRICI", Hoepli.
 Cataloghi e manuali SIEMENS
 Cataloghi e manuali SAIA
 Speciale OPC, Automazione e strumentazione-novembre 1999.
 Introduzione al MES/ERP, autori vari, Automazione oggi-febbraio 1999.
 L.Ferrarini,L.Mezzalira, “STANDARD DI PROGRAMMAZIONE PER PLC:
IEC1131-3”, Automazione e strumentazione-giugno 1999.
Pag. 90