Ingegneria automazione industriale

Ingegneria automazione industriale

 

 

 

I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore

 

 

Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).

 

 

 

 

Ingegneria automazione industriale

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.

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.

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 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.
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 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).
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

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).
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 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 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 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.

 

     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), 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.

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.

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).
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.

 

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.
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 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 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,..- 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
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.
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 .

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.

     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

(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 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-, ...).

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 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, 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 firmware- per 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,....)

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 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).

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à 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.
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, ingombranti e caratterizzati da elevati consumi di potenza che, tra l’altro, inquinano elettromagneticamente l’ambiente.

 

     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).

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.
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.

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 1ms.

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.
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.

 

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 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 real-time 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 di implementare il protocollo per mezzo del quale, tramite l’apposito pacchetto di sviluppo, è possibile trasferire e testare i programmi.

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.
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.

 

 

 

 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).
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 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.

 

 

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).
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.
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 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.
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 è 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 part-program (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 general-purpose 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 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.

 

Fonte: http://www.negentropy.us/valtercaggio.com/Sistem_Automaz/classe%20quinta/plc/doc/plc%20ed%20automazione%20industriale.DOC

Sito web da visitare: http://www.negentropy.us/

Autore del testo: non indicato nel documento di origine

Il testo è di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente i loro testi per finalità illustrative e didattiche. Se siete gli autori del testo e siete interessati a richiedere la rimozione del testo o l'inserimento di altre informazioni inviateci un e-mail dopo le opportune verifiche soddisferemo la vostra richiesta nel più breve tempo possibile.

 

Ingegneria automazione industriale

 

 

I riassunti , gli appunti i testi contenuti nel nostro sito sono messi a disposizione gratuitamente con finalità illustrative didattiche, scientifiche, a carattere sociale, civile e culturale a tutti i possibili interessati secondo il concetto del fair use e con l' obiettivo del rispetto della direttiva europea 2001/29/CE e dell' art. 70 della legge 633/1941 sul diritto d'autore

Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).

 

Ingegneria automazione industriale

 

"Ciò che sappiamo è una goccia, ciò che ignoriamo un oceano!" Isaac Newton. Essendo impossibile tenere a mente l'enorme quantità di informazioni, l'importante è sapere dove ritrovare l'informazione quando questa serve. U. Eco

www.riassuntini.com dove ritrovare l'informazione quando questa serve

 

Argomenti

Termini d' uso, cookies e privacy

Contatti

Cerca nel sito

 

 

Ingegneria automazione industriale