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