Controllore logico programmabile: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Correzioni, modifiche e aggiunte ad alcune sezioni
Nessun oggetto della modifica
Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile
 
(21 versioni intermedie di 11 utenti non mostrate)
Riga 1:
{{NN|ingegneria|febbraio 2013}}
{{W|ingegneria|novembre 2023}}
[[File:Automate siemens codeur analyseur de trame.JPG|thumb|PLC]]
 
Il '''controllore logico programmabile''' (in [[lingua inglese{{Inglese|inglese]] ''programmable logic controller''}}, spesso in sigla, '''PLC''') è un [[computer]] per l'[[industria]] specializzato in origine nella gestione o [[controllo industriale|controllo dei processi industriali]].
 
Esegue un [[programma (informatica)|programma]] ed elabora i [[segnale digitale|segnali digitali]] ed [[segnale analogico|analogici]] provenienti da [[sensore|sensori]] e diretti agli [[attuatore|attuatori]] presenti in un impianto industriale, con la struttura del PLC che viene adattata in base al processo da [[automazione|automatizzare]]: durante la [[progettazione]] del [[sistema di controllo]], vengono scelte le schede adatte alle [[grandezze elettriche]] in gioco; le varie schede vengono quindi inserite sul [[Bus (informatica)|BUS]] o [[Rack (informatica)|rack]] del PLC. Il primo PLC è stato creato da [[Dick Morley]] nel 1968 con il marchio Modicon, orasuccessivamente di proprietà di [[Schneider Electric]].
 
Nel tempo, con la progressiva [[miniaturizzazione]] della componentistica elettronica e la diminuzione dei costi, è entrato anche nell'uso domestico; l'installazione di un PLC nel [[quadro elettrico]] di un'abitazione, a valle degli [[interruttore magnetotermico|interruttori magnetotermico]] e [[interruttore differenziale|differenziale]] (salvavita), permette la gestione automatica dei molteplici sistemi e impianti installati nella casa: impianto di riscaldamento, [[antifurto]], irrigazione, [[local area network|LAN]], luci, ecc. Si tratta di un oggetto [[hardware]] componibile. La caratteristica principale è la sua robustezza estrema; infatti normalmente è posto in quadri elettrici in ambienti rumorosi, con molte interferenze elettriche, con [[Temperatura|temperature]] elevate o con grande [[umidità]]. In certi casi il PLC è in funzione 24 ore su 24, per 365 giorni all'anno, su impianti che non possono fermarsi mai.
 
== Struttura ==
Un PLC è composto da un [[alimentatore elettrico|alimentatore]], dalla [[CPU]], da una o più [[Memoria (informatica)|memorie]] di tipo [[RAM]], [[Read-Only Memory|ROM]], [[EPROM]] o [[EEPROM]] e da un certo numero di schede di ingressi digitali e uscite digitali, che possono essere sia integrate nel PLC stesso (in questo caso si dicono ''on board'') oppure su moduli esterni (dette periferiche decentralizzate), collegati da un apposito [[Bus (informatica)|bus di comunicazione]]. Nel caso in cui sia necessario gestire segnali analogici, il PLC può ospitare delle schede di ingresso o di uscita analogiche, on board o esterne.
 
Se il PLC opera in rete con altri PLC, sono necessarie delle schede di comunicazione adatte al [[protocollo di rete]] già implementato sugli altri PLC.
Riga 19 ⟶ 20:
=== Alimentatore ===
L'alimentatore è un apparato necessario per il funzionamento dei PLC. Esso è utilizzato per fornire l'[[energia elettrica]] a tutte le schede del PLC.
Fornisce le tensioni a 5 [[Volt|V]] necessarie alle schede, le tensioni a + o - 12 V, le altre tensioni necessarie, sempre in [[corrente continua]] (d.cDC).
Può essere interno o esterno al PLC.
Nella normalità dell'uso, in campo industriale, l'alimentazione è a 24 V d.c.VDC compatibile con la maggior parte dei sensori in commercio.
 
=== CPU ===
La [[CPU]] è il cervello del PLC. La CPU è una scheda complessa basata su una [[general purpose|logica programmabile]] con funzionalità base di memorizzazione e accesso ad I/O (input/output), nonché [[bootloader]], e con una zona di memoria a disposizione del programma utente, cioè del programma di automazione.
 
La [[memoria (informatica)|memoria]] utente è spesso esterna come ad esempio nel caso di memoria [[EPROM]]. Il vantaggio derivante dall'utilizzo di una memoria esterna èrisiede legatonella allapossibilità semplicitàdi trasferire agevolmente il programma di [[Programmazioneautomazione (informatica)|programmazione]]su oun nuovo dispositivo in caso di modificamalfunzionamento, nonché nella salvaguardia del codice programma in situazioni di inaccessibilità del dellodispositivo stessooriginario.<br />
La CPU durante il funzionamento a regime, colloquiacomunica con tutte le schede connesse sul BUS del PLC, trasferendo dati e [[istruzione (informatica)|comandi]] da e verso l'esterno (input e output).
 
Una delle caratteristiche peculiari di molte CPU è la capacità di poter gestire le modifiche del programma di gestione del processo durante il normale funzionamento. Questa possibilità è estremamente utile nel caso di impianti che devono essere sempre attivi, come ad esempio nel controllo di processo e nella produzione industriale in serie.
Riga 51 ⟶ 52:
 
=== Schede di uscita digitali ===
Le schede di uscita digitali sono utilizzateusate per i comandi di [[Attuatore|attuatori]] [[Digitale (informatica)|digitali]]. Ad esempio un [[relè]] è un attuatore digitale, in quanto può avere soltanto due stati stabili: diseccitato, o eccitato. Altro esempio di attuatore è una [[Valvola (idraulica)|valvola]] digitale a due stati: aperta, chiusa (elettrovalvola).
Anche nel caso di schede di uscita digitali, si possono gestire da un minimo di 4 ad un massimo di 64 uscite digitali differenti.
 
=== Schede di ingresso analogiche ===
Questo tipo di schede di ingresso permettono il controllo di grandezze elettriche il cui valore può variare all'interno di un intervallo; si distinguono due casi: variazione della tensione e variazione della corrente. Ad esempio sono disponibili schede di ingresso analogiche in corrente, con un intervallo variabile tra 4 [[milli (prefisso)|m]][[ampere|A]] e 20 mA. Molti produttori di PLC rendono disponibili schede con ingressi [[Analogico|analogici]] per sonde di temperatura (sia [[Termoresistenza|Pt100]] che [[Termocoppia|termocoppie]] T, J, K, ecc). Queste schede sono disponibili con varie risoluzioni (8-12-14-16 [[Bit (informatica)|bit]]) e con 1 o più ingressi separati galvanicamente disponibili in morsettiera o sul [[Connettore elettrico|connettore]] frontale.
 
=== Schede di uscita analogiche ===
Riga 77 ⟶ 78:
* [[CANopen]]
* [[Controller Area Network|CAN BUS]]
* [[Controlnet]]
* [[DeviceNet]]
* EGD
* [[ETHERCAT]]
* [[Ethernet]]
* [[Modbus]]
Riga 88 ⟶ 89:
* [[Profinet]]
* [[TCP/IP]]
* [[User Datagram Protocol|UDP]]/IP
* [[Wi-Fi]] 802.11
 
ecc.
 
=== Schede speciali ===
Molti PLC, oltre le consuete schede di ingresso/uscita, analogiche/digitali, ha a catalogo moduli dedicati a particolari compiti di automazione. Il vantaggio nell'utilizzareuso di tali schede è quello di avere il controllo di un'operazione/evento indipendentemente dal ciclo del PLC, relegando il PCM alla funzione di controllo/parametrizzazione. L'offerta è veramente vasta e ogni produttore propone a catalogo le più svariate soluzioni, fra cui si segnala:
 
==== Schede di conteggio veloce ====
SonoChiamate comunemente schede conta impulsi, sono in grado di accogliere il segnale di un sensore di conteggio e direzione (up/down ossia incremento/decremento) più un canale di azzeramento, sia in single ended (ossia a livelli di tensione 0÷24 V) che in differenziale (normalmente secondo lo standard RS-422); normalmente è possibile programmarle in modo che scatenino un evento (per esempio alzando un'uscita) al raggiungimento di un dato conteggio o se il conteggio è compreso fra una finestra di valori. Su tali schede sono normalmente disponibili un numero limitato di uscite programmabili.
 
==== Schede programmatori a camme ====
Compito di tali schede è emulare una o più camme meccaniche; accettano in ingresso un segnale proveniente da un [[Trasduttore di posizione angolare|encoder]] ed è possibile, se la posizione è entro determinate finestre, avviare un evento tramite un'uscita digitale programmabile.
 
==== Schede [[Controllori PID|PID]] (Proporzionale Integrale Derivativo) ====
Spesso nel campo industriale è necessario controllare una variabile del processo (per esempio la potenza applicata su un elemento riscaldante), rilevando una variabile da esso dipendente (per esempio la temperatura di un ambiente). Se il processo è particolarmente critico è necessario eseguire il controllo in modo accurato, tramite moduli dedicati.<br />
In passato, prima dell'avvento dei controllori logici programmabili (PLC), esistevano moduli hardware, in qualche caso realizzati con tecnologie ibride meccaniche, pneumatiche, elettromeccaniche, in grado di svolgere la regolazione sommando le tre azioni proporzionale, integrativa e derivativa, ma al giorno d'oggi sono realizzati dalle stesse case produttrici dei PLC, non solo come blocchetti aggiuntivi hardware, ma anche come blocchi software a cui è sufficiente passare i corretti parametri.<br />
 
==== Schede controllo assi ====
Riga 111 ⟶ 110:
 
==== Schede safety ====
Sono utilizzateadoperate per tutti i segnali e le sequenze il cui controllo deve rispettare normative di sicurezza.
Utilizzate con CPU safety
Sono utilizzate per tutti i segnali e le sequenze il cui controllo deve rispettare normative di sicurezza.
 
== Funzionamento ==
== Funzionamento<ref name="Gottardo12">Marco Gottardo, lulu.com (ed), ''Let's Program a PLC (seconda edizione)'' (in Italiano), Lulu.com, 2012 ISBN 1291189327</ref> ==
La prima azione che il PLC compie è la lettura di tutti gli ingressi, sia digitali che analogici, on board o su bus di campo (schede remote collegate al PLC o con una rete di comunicazione). Dopo aver letto gli ingressi, il loro stato viene memorizzato in una memoria che è definita "Registro immagine degli ingressi". A questo punto le istruzioni di comando vengono elaborate in sequenza dalla CPU e il risultato viene memorizzato nel "Registro immagine delle uscite". Infine, il contenuto dell'immagine delle uscite viene scritto sulle uscite fisiche, ovvero le uscite assumono lo stato predisposto dalla CPU. Poiché l'elaborazione delle istruzioni si ripete continuamente, si parla di elaborazione ciclica; il tempo che il controllore impiega per una singola elaborazione viene detto tempo di ciclo (solitamente da 10 a 100 millisecondi).<ref name="Gottardo12">Marco Gottardo, lulu.com (ed), ''Let's Program a PLC (seconda edizione)'' (in Italiano), Lulu.com, 2012 ISBN 1291189327</ref>
 
Un PLC si dice ''in run'' quando il programma è in esecuzione, mentre si dice ''in stop'' (o ''in arresto'') quando il PLC è acceso ma non sta eseguendo il programma.
 
== Linguaggi di [[Programmazione (informatica)|programmazione]] ==
 
Il PLC per ottemperare ai suoi compiti deve essere programmato. La programmazione del PLC è effettuata normalmente con un PC sul quale un [[software]] specializzato permette di creare programmi da caricare nella memoria della CPU del PLC.
 
Riga 125 ⟶ 124:
Normalmente il programma viene scritto su PC, quindi scaricato sul PLC, e salvato sul PC stesso, per ulteriori modifiche o per sicurezza.
 
La [[normativa [[IEC 113161131-3]] del 1993 ha standardizzato 5 linguaggi di programmazione, di cui 3 grafici e 2 testuali.
 
La Normativanormativa è stata successivamente aggiornata con l'uscita della "CEI EN 61131-3" detta anche "CEI 65-40" Prima Edizione: 1º giugno 1996.
 
=== Linguaggi grafici ===
[[File:Ladder temporizado.svg|thumb|right|Esempio di [[Ladder diagram]]]]
* ''[[Ladder diagram]] (''LD o KOP'')'' detto Linguaggio a contatti - Era il linguaggio più usato fino a pochi anni fa, in quanto è una efficace trasposizione informatica, dei circuiti elettrici usati dagli elettrotecnici.<br />L'automazione industriale infatti era basata su sistemi a logica cablata, il PLC (controllore di logica programmabile) ha permesso di trasportare i concetti della logica cablata nel linguaggio Ladder. Il programmatore semplicemente utilizza simboli logici corrispondenti a segnali di ingresso e di uscita per implementare la logica non più cablando i [[relè]], ma disegnando gli schemi elettrici nel software di programmazione.
* ''[[Sequential function chart]] (''SFC'')'' detto Diagramma funzionale sequenziale - Viene usato anche come strumento di specifica. Tale linguaggio permette di implementare facilmente una macchina (o automa) a stati finiti.
* ''Function Block Diagram (''FBD o FUP'')'' detto Diagramma a blocchi funzionali - Analogo ai diagrammi circuitali usati dagli elettronici.
 
=== Linguaggi testuali ===
* ''Instruction List (''IL o [[AWL (linguaggio)|AWL]]'')'' detto Lista di istruzioni - Linguaggio di basso livello, diffuso nelle maggior ditte di programmazione con PLC, molto simile all'Assembly (linguaggio di basso livello). Può essere facilmente ricavato dal Ladder e permette una programmazione più strutturata rispetto a quest'ultimo, infatti molti lo preferiscono per questo fattore.
* ''Structured Text (''ST'')'' detto Testo strutturato - Linguaggio di alto livello simile al [[Pascal (linguaggio)|Pascal]].
 
==Il PLC rispetto ad altri sistemi di controllo==
Riga 157 ⟶ 156:
 
== Altri progetti ==
{{interprogetto|preposizione=sul}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC|Programmable Logic Controller|Programmable Logic Controller}}
* {{cita web|http://www.plcforum.it/|PLC Forum - Il forum di riferimento italiano su PLC ed automazione}}
* {{cita web |1=http://www.automationforum.it/portalenew/ |2=Automationforum - Portale per l'automazione industriale con risorse per il programmatore di applicazioni MES, SCADA, HMI, PLC bus di campo per l'industria. |urlmorto=sì |accesso=8 febbraio 2012 |urlarchivio=https://web.archive.org/web/20110717043442/http://www.automationforum.it/portalenew/ |dataarchivio=17 luglio 2011 }}