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