Introduzione a PLC e SCADA
Transcript
Introduzione a PLC e SCADA
Gestione Progetti robertomana.it PLC e SCADA Cos’è il PLC Il PLC (Controllore Logico Programmabile) viene utilizzato per gestire la movimentazione automatica degli impianti industriali. Rispetto al PC presenta: Capacità di elaborazione molto inferiore (può eseguire un unico programma alla volta e riconosce soltanto un numero estremamente ridotto di istruzioni base, istruzioni abbastanza simili al vecchio Assembler 8086) Estrema robustezza ed affidabilità. Non si ferma mai. E’ costituito da: un alimentatore 24 VDC, Il controllore vero e proprio costituito a sua volta da: - una CPU in grado di eseguire un singolo programma alla volta - una memoria persistente un certo numero di moduli di ingresso 24 VDC, su cui possono essere acquisiti segnali digitali o analogici provenienti dai vari sensori disposti sul campo. Ogni modulo di ingressi digitali gestisce di solito 16 o 32 ingressi un certo numero di moduli di uscita 24 VDC 0,5 A digitali o analogici che vanno a comandare elettrovalvole (avanti indietro) o teleruttori / inverter per l’avvio / arresto motori. Ogni modulo di uscite digitali gestisce di solito 16 o 32 ingressi. Le uscite sono di solito 24 VDC per cui se i sensori sul campo sono 24 VAC occorre passare attraverso un relè. pag 1 Gestione Progetti robertomana.it PLC e SCADA La memoria utilizzata dal PLC è una memoria persistente realizzata mediante RAM mantenuta da una batteria o da una EEPROM. Poiché la EEPROM è sicuramente più sicura della RAM ma è infinitamente più lenta, di solito programma e dati vengono duplicati sia sulla EEPROM sia sulla RAM dove il programma viene eseguito. La batteria tampone della RAM deve essere sostituita ogni 2 -3 anni esclusivamente con il PLC alimentato; in caso contrario si perderebbe il programma. Un apposito selettore consente di copiare la memoria dalla RAM alla EEPROM e viceversa. La copia è possibile anche dall’interno del software di programmazione. Il comando Step 7 Sistema di Destinazione / Carica in EPROM consente di salvare in EPROM il programma in fase di editazione su PPC Il comando Step 7 Sistema di Destinazione / Salva RAM in ROM consente di salvare in EPROM il programma attualmente caricato nel PLC. I PLC attuali eseguono il programma direttamente su scheda Flash. Costruttori e Tipi di PLC I principali costruttori di PLC sono Siemens Allen Bradley Omron Insieme coprono oltre l’80 % del mercato. Esistono poi moltissimi altri costruttori minori: Telemecanique, ABB, Philips, CGE, etc. In provincia di Cuneo usano Allen Bradley: Michelin, Saint Gobain, Ferrero, Miroglio pag 2 Gestione Progetti robertomana.it PLC e SCADA Esistono due categorie principali di PLC: Piccoli, con una memoria limitata e in grado di gestire un numero limitato di ingressi / uscite (typ max 16/32). Ingressi e Uscite non sono su moduli separati ma sono direttamente disponili sulla CPU. Molto più compatti e costi decisamente inferiori. Esempi: - Siemens Serie 200 programmabile tramite un software denominato microwin - Allen Bradley PLC 500 programmabile tramite un software denominato RSLogix 500 Grandi, con memoria molto maggiore, in grado di gestire un elevato numero di moduli indipendenti di ingressi / uscite, più moduli particolari, come ad esempio: Schede di comunicazione Schede di conteggio veloce Schede d controllo assi (per controllare motori passo passo oppure motori brushless) Esempi di PLC “grandi” - Siemens Serie 300 programmabile tramite un software denominato STEP 7 - Allen Bradley PLC 5 programmabile tramite un software denominato RSLogix 5 CPU Siemens IM 151-8 (serie 300) pag 3 Gestione Progetti robertomana.it PLC e SCADA Controllo e supervisione d’impianto Il PLC gestisce la movimentazione di un impianto sulla base di sensori / attuatori ma non dispone di nessuna interfaccia utente. Se si vuole cambiare un parametro che cosa bisogna fare ? Andare ogni volta a modificare il programma del PLC è scomodissimo e lo può fare solo un tecnico (informatico o elettrotecnico) Sono nati allora, parallelamente ai PLC, dei pannelli di comando, detti PANEL VIEW (Pannello Operatore), costruiti dallo stesso costruttore del PLC. Pannelli Operatore Siemens Allen Bradley OP Panel View Il Pannello Operatore è quasi sempre Touch Screen. Consente di Controllare l’impianto, nel senso che consente di inviare comandi al PLC e modificarne i parametri (ad esempio aumentare / diminuire i tempi di movimentazione o la velocità dei motori) Supervisionare l’impianto nel senso che, con una grafica abbastanza rudimentale, è possibile vedere in ogni momento che cosa sta facendo l’impianto (rulliere in movimento, elettrovalvole alte / basse, presenza / assenza materiale). Consente inoltre di visualizzare opportuni messaggi di allarme attivati come bit dal PLC ma il cui messaggio corrispondente è memorizzato all’interno del Panel View. Visualizzare e storicizzare gli allarmi Configurazione del Pannello Operatore Il Panel View non mostra un’interfaccia di programmazione, ma può a sua volta essere configurato mediante un software acquistato sempre da l costruttore del PLC. La configurazione di un Panel View consiste essenzialmente nel linkare ogni oggetto di ogni pagina ad una variabile della memoria del PLC. pag 4 Gestione Progetti robertomana.it PLC e SCADA Comunicazione con il PLC Il Panel View, mediante un protocollo proprietario, comunica con il PLC e normalmente esegue lettura / scrittura di variabili numeriche memorizzate all’interno del PLC. Il La comunicazione tra Panel View e PLC è completamente trasparente al programmatore Limiti del Pannello Operatore Dal punto di vita della supervisione, il Panel View utilizza una grafica estremamente semplice ed essenziale Dal punto di vista del controllo di impianto il Panel View non è in grado di gestire ed elaborare dati in proprio, ma si limita a fare da interfaccia ai dati del PLC. Anche le tecniche di inserimento dati sono poco flessibili Il controllo d’impianto tramite PC Per superare i limiti del Panel View negli impianti più grandi il Controllo / Supervisione viene eseguito centralmente mediante un PC, consentendo comunque l’utilizzo di Panel View decentralizzati per l’inserimento / lettura di valori locali a singole sezioni dell’impianto. HMI Human Machine Interface Interfaccia Utente in grado di fornire una rappresentazione dell’impianto (SINOTTICO) con schematizzazione di tutti i sensori e attuatori che si ricolorano in base allo stato. Molto più dettagliato rispetto al Pannello Operatore. Inoltre: Grafica avanzata, con librerie di simboli ed elementi abbinabili a variabili del PLC Possibilità di Impostare dati e ricette Gestione degli allarmi in corso Es : Siemens WINCC SCADA Supervisory Control And Data Acquisition Supervisione, Controllo di Processo e Acquisizione di dati. Rispetto agli HMI è in grado di : storicizzare i dati appoggiandosi su database (tipicamente SQL Server) fornire elaborazione dei dati stessi (graficizzazione, elaborazioni statistiche, etc.) tramite la scrittura di codice custom (tipicamente C o Visual Basic) richiamabili in corrispondenza di certi eventi (click, timer_tick, etc). pag 5 Gestione Progetti robertomana.it PLC e SCADA Inoltre mentre gli HMI sono normalmente legati al singolo produttore di PLC (vedi WINCC), gli SCADA sono più generali e presentano driver di comunicazione verso tutti le principali famiglie di PLC. Principali SCADA Commerciali Wonderware InTouch Intellution FIX (Intellution è stata acquisita nel 2004 da GE Fanuc) Factory Link Movicon della PROGEA di Modena CUBE della ORSI di Genova Anche Lab View può fungere da SCADA di impianti industriali. Limiti dello SCADA Il costo, molto elevato, con licenze di sviluppo (8000 €) e licenze Run Time (2000 €) La rigidità tipica di un ambiente preconfezionato. Di solito non è possibile utilizzare simboli grafici non presenti in libreria. La gestione degli allarmi deve essere eseguita secondo le modalità dello SCADA. Su un impianto il costo di uno SCADA in genere non deve superare il 10 % rispetto al costo dell’impianto. pag 6 Gestione Progetti robertomana.it PLC e SCADA Vantaggi dello SCADA La facilità di configurazione. Avendo già simboli e protocolli di comunicazione preconfezionati, il “programmatore” si limita ad eseguire una semplice configurazione che consiste nel: - Disegnare il layout dell’impianto - Abbinare i vari oggetti al corrispondente indirizzo su PLC Uniformità delle applicazioni in tutte le sedi. Ad esempio il gruppo Saint Gobain utilizza l’abbinamento Allen Bradley / Intouch in tutti i suoi stabilimenti, dall’Europa al Sud Africa al Nord America. Personal SCADA Per avare la massima libertà di programmazione e non dover pagare continue licenze e aggiornamenti, molte software house anche di dimensioni medie piccole, hanno iniziato a sviluppare sistemi personalizzati di controllo e supervisione d’impianto. Ovviamente questo approccio non è conveniente nel caso di singoli impianti, ma inizia ad avere il suo tornaconto nel momento in cui aumenta il numero delle installazioni. Tutta la piena libertà di un linguaggio di programmazione. Costo inferiore se si creano e riutilizzano apposite classi di supporto. Il problema principale di questo approccio è la gestione della comunicazione con il PLC. Realizzazione del protocollo di comunicazione La comunicazione PC –PLC può avvenire tramite Cavo punto punto RS 232 / RS 485 (che Siemens chiama porta DPI) Rete Ethernet Il protocollo di comunicazione consiste sostanzialmente in un protocollo di comunicazione seriale in cui il PC svolge il ruolo di master mentre il PLC svolge il ruolo di slave, nel senso che il PLC risponde ai comandi che il PC invia sulla porta seriale / ETH. I comandi che il PC può inviare al PLC sono tipicamente comandi di lettura / scrittura di dati all’interno dell’area dati del PLC. L’area dati del PLC è in genere organizzata in Blocchi Dati (detti FILES anche se in realtà si trovano in memoria RAM). Ogni FILE può essere visto come un vettore di BYTE / WORD. I comandi che il PC deve inviare al PLC sono sempre comandi del tipo: READ DB12 INDIRIZZO 0 QTA 10 Che significa: Leggi i dati interni al Blocco Dati 12, a partire dall’indirizzo 0 per una lunghezza pari a 10 bytes. Il PLC legge i dati richiesti e li restituisce al PC sotto forma di vettore di byte. Le operazioni di write operano con lo stesso criterio ma in direzione inversa. pag 7 Gestione Progetti robertomana.it PLC e SCADA Il grosso problema è però conoscere modalità e sintassi da utilizzare. Si tratta infatti di specifiche proprietarie che difficilmente il costruttore di PLC è disponibile a divulgare. Spesso invece è possibile acquistare driver preconfezionati (ovviamente privi di sorgente) realizzati e venduti sempre dal costruttore o da aziende cooperanti. Questi driver però hanno parecchi limiti : Dipendono dalla versione del Sistema Operativo e spesso dalla versione di PLC in uso Hanno ognuno una propria interfaccia diversa uno dall’altro Perché non portare tutta l’elaborazione su PC ? Tentato negli anni passati, ma non è mai decollato. Le aziende non ne vogliono sapere. Caratteristica fondamentale del PLC è la robustezza. Deve girare 24 ore al giorno 365 giorni l’anno senza fermarsi mai. Inoltre è molto più facile mantenere un PLC. Sull’impianto possono esserci anche più PC. In genere uno solo comunica con l’impianto (Master). Gli altri non comunicano con l’impianto ma comunicano con il server (Slaves) che rende disponibili i dati acquisiti da PLC. pag 8 Gestione Progetti robertomana.it PLC e SCADA La programmazione del PLC Sul PLC viene caricato un unico programma che viene eseguito all’infinito in modo ciclico. Un ciclo, o scansione, consiste nelle seguenti fasi: Il PLC campiona lo stato degli ingressi scrivendo il valore in una apposita area dati della RAM Esegue l’intero programma in cui, in base al valore degli ingressi, vengono eventualmente attivati alcuni segnali di uscita all’interno di una apposita area dati della RAM Sulla base dei valori delle uscite memorizzati nella RAM provvede ad aggiornare fisicamente i segnali di uscita. Ciclo Scansione PLC Il programma viene scritto dal programmatore su PC mediante appositi software e poi “scaricato” all’interno del PLC mediante apposito cavo di connessione. Il programmatore, in qualsiasi momento può verificare cosa sta facendo il PLC collegandosi al PLC con un computer ed analizzando on line l’evoluzione del programma all’interno del PLC Comunicazione PLC / PC La comunicazione PLC / PC può essere realizzata in moltissimi modi. Quello più semplice è l’utilizzo di un cavo seriale che però normalmente, lato PLC, utilizza una connessione RS 485. NOTA: RS485 e RS422 utilizzano una trasmissione bilanciata realizzata mediante driver e receiver differenziali in cui sia la linea Tx che la linea Rx sono linee a 2 fili in cui il livello di trasmissione corrisponde alla differenza di potenziale tra la linea + e la linea – rispetto a massa. Per la trasmissione si utilizzano complessivamente 5 file Tx+, Tx-, Rx+, Rx- e GND. La linea GND deve comunque essere collegata tra i due terminali per ridurre il livello di tensione di modo comune ed evitare rotture di circuiti. Questa tecnica riduce notevolmente l’influenza del rumore e, unitamente a cavi twisted a bassa capacità e buona schermatura, consente di aumentare moltissimo velocità e distanza massima di trasmissione. Si arriva fino a velocità di 10 Mbit/s e a distanze superiori al Km. Grazie all’elevata velocità raggiungibile, entrambe queste tecniche sono orientate alla trasmissione sincrona. RS485 rispetto a RS422, utilizza uscite three state per cui consente connessioni multi drop. pag 9 Gestione Progetti robertomana.it PLC e SCADA La conversione 232 / 485 è di solito realizzata da un convertitore posizionato nel cavo. Cavi più moderni utilizzano lato PC il connettore USB (cavo detto PC Adapter. Occorre però installate il driver). Quasi tutti i PLC dispongono oggi di schede Ethernet dotate di indirizzi MAC che consentono l’accesso al PLC tramite una normale rete locale gestita mediante TCP/IP. Il Programma di un PLC Inizialmente i PLC erano programmati mediante un linguaggio testuale simile all’Assembler che, ad esempio, in Siemens era chiamato AWL. Estremamente difficile e complicato. Verso la metà degli anni 80 nasce un nuovo linguaggio di programmazione detto ladder (a contatti) che consente di realizzare l’intero programma in modo visuale tramite contatti e bobine. I PLC Siemens iniziano a supportare pienamente il linguaggio ladder soltanto a partire da metà degli anni 90. Esempio di codice ladder: La riga precedente (Allen Bradley) utilizza le tre principali istruzioni del linguaggio ladder: Contatto Normalmente Aperto (vero se il bit corrispondente vale 1) Contatto Normalmente Chiuso (vero se il bit corrispondente vale 0) Bobina, eccitata se la sequenza a monte risulta vera. In pratica il Contatto Normalmente Aperto è una istruzione del tipo if (variabile == TRUE) then …………….. mentre Contatto Normalmente Chiuso è una istruzione del tipo if (variabile == FALSE) then ……………. La Bobina è una istruzione di comando condizionato di una uscita digitale. Comanda l’eccitazione di un contatto di uscita. E’ come se chiudesse temporaneamente un relè. Il relè rimane chiuso fino a quando la condizione di comando rimane vera. Nel momento in cui la condizione diventa falsa la bobina viene rilasciata. Il relè deve essere comandato in un unico punto del programma. Se viene comandato in più punti, l’ultimo comando “copre” tutti gli altri. pag 10 Gestione Progetti robertomana.it PLC e SCADA Il programma è diviso in moduli. Il programma principale : in Siemens è fisso ed è costituito dal blocco denominato OB1. in AB può essere costituito da un modulo qualunque previa opportuna impostazione. Il programma principale può richiamare i vari moduli mediante un JUMP condizionato. In Allen Bradley si chiama JUMP. In Siemens si chiama CALL Le Aree Dati La memoria del PLC è suddivisa in file. Secondo la terminologia Siemens si possono identificare i seguenti files: File di programma (OB e FC) File relativo agli ingressi (in Siemens file E, in Allen Bradley file I) File relativo alle uscite (in Siemens file A, in Allen Bradley file O) Merker per le variabili di tipo bit. (in Siemens file M) DB per le variabili di tipo Byte, Word, Double Word, Float Temporizzatori (in Siemens file T) Contatori (in Siemens file Z) La maggior parte dei files sono organizzati a byte numerati in modo crescente. Altre Istruzioni Latch Bobina autoritentiva che rimane eccitata anche se cessa l’azione Unlatch Spegnimento della bobina autoritentiva Timer Conta per il tempo indicato solo se la condizione a monte è vera. Al termine attiva un bit di “Done”. Se la condizione diventa FALSA prima che il timer abbia terminato il conteggio, il timer viene automaticamente resettato a zero e riprenderà a contare nel momento in cui la condizione ritorna vera. In serie alle condizioni di attivazione del timer si inserisce di solito anche un contatto negato XIO del tipo IF NOT DONE, in modo che il DONE rimanga su per una sola scansione e provveda immediatamente a resettare il timer. Il DONE viene spesso usato per cambiare tappa all’interno del grafcet. Esistono anche : timer ritentivi che mantengono il valore timer TOFF che misurano il tempo in corrispondenza della mancanza delle condizioni. Contatori Incrementano di 1 il conteggio ogni volta che la condizione a monte è vera. Raggiunto un certo valore attivano un bit di “Done”. Devono essere riazzerati manualmente. Move Consente di spostare un byte (o word o double word o float) da una certa posizione di memoria ad un’altra Operatori Aritmetici: somma, sottrazione, moltiplicazione, divisione, confronto. Non esistono cicli. pag 11 Gestione Progetti robertomana.it PLC e SCADA Il Grafcet Con l’aumento dei sistemi automatici complessi e nata l’esigenza di unificare e razionalizzare i “linguaggi” di descrizione di un automatismo ed in particolare di una logica sequenziale. Diversi enti francesi già dal 1977 si posero l’obiettivo di creare un linguaggio che potesse essere sganciato dalla tecnologia utilizzata e comune sia ai tecnici meccanici sia agli elettronici. Nasce così il GRAFCET, che nel giugno 1982 diventa una normativa ( NF C03-190) dell’UTE (Union Tecnique de l’Eletricitè). Esempio Tipica rulliera di avanzamento prodotto, con ingresso / uscita non contemporanei e dotata di Un motore controllato da inverter a sua volta comandato da una uscita del PLC Una fotocellula posizionata sull’uscita della rulliera e collegata ad un ingresso del PLC pag 12