Controllore logico programmabile: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Etichette: Modifica da mobile Modifica da web per mobile |
Nessun oggetto della modifica Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile |
||
(28 versioni intermedie di 16 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''' (
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,
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]],
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.
Nel caso di operazioni di movimentazione, come nel campo della [[robotica]], il PLC ospita delle schede di controllo assi, cioè delle schede molto veloci e sofisticate che permettono di gestire spostamenti e posizionamento.
Ci possono inoltre essere altre schede con funzioni particolari, in base all'impiego specifico del PLC.
=== 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]] (
Può essere interno o esterno al PLC.
Nella normalità dell'uso, in campo industriale, l'alimentazione è a 24
=== 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
La CPU durante il funzionamento a regime,
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.
Line 36 ⟶ 39:
* interfaccia per il dispositivo di programmazione, che comunica con gli strumenti di programmazione;
* [[bus (informatica)|bus dati]], comando, indirizzi per la veicolazione dei dati fra le varie parti e con l'esterno della CPU.
=== Memorie ===
I PLC possono essere dotati di una o più memorie, sia in base alla specifica applicazione sia in base alle diverse case costruttrici. In generale, nella maggior parte delle configurazioni si possono distinguere:
* memoria di caricamento: è una [[memoria non volatile]], che contiene il programma, i dati e le configurazioni del PLC;
* memoria di lavoro: è una [[memoria volatile]] usata per l'esecuzione del programma e per le variabili locali;
* memoria ritentiva: non volatile, è usata per memorizzare dati che devono restare salvati anche a CPU spenta;
* slot per memoria esterna (SD o simili): in alcuni PLC è presente uno slot per una memoria tampone, la cui presenza o meno non influisce sul funzionamento del PLC, ma può essere utile ad esempio per archiviare i log di processo o dei dati di lavoro che si vogliono esportare; in altri PLC, questa memoria tampone è necessaria per il funzionamento.
=== Schede di ingresso digitali ===
Le schede di ingresso digitali sono utilizzate per
=== Schede di uscita digitali ===
Le schede di uscita digitali sono
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
=== Schede di uscita analogiche ===
Line 64 ⟶ 75:
La comunicazione con altri PLC avviene tramite protocolli standard, ad esempio:
* [[Profibus]]▼
* [[
* [[Controller Area Network|CAN BUS]]▼
* [[Controlnet]]▼
* Wi-Fi 802.11▼
* [[
* EGD▼
* [[ETHERCAT]]▼
* [[Ethernet]]
* [[Modbus]]
* Modbus Plus
* Modbus TCP/IP
▲* [[Profibus]]
▲* Controlnet
* [[Profinet]]
▲* EGD
*
* [[User Datagram Protocol|UDP]]/IP
▲* [[Controller Area Network|CAN BUS]]
▲* [[Wi-Fi]] 802.11
▲* ETHERCAT
=== Schede speciali ===
==== Schede di conteggio veloce ====
==== 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
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.
==== Schede controllo assi ====
Si impiegano ove sia necessario controllare il movimento di un organo meccanico tramite un motore, sia esso [[Motore brushless|brushless]] che [[Motore passo-passo|passo passo]]. Alcune schede presentano un funzionamento particolarmente semplice permettendo di fissare una quota di consegna che l'asse deve raggiungere e un ingresso per il [[Retroazione|feedback]] di posizione, altre - particolarmente complesse - permettono grandissima flessibilità e permettono di emulare diversi profili.
==== Schede safety ====
Sono
== Funzionamento ==
La prima azione che il PLC compie è la lettura
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.
▲La prima azione che il PLC compie è la lettura degli ingressi del portale e si intende tutti gli ingressi sia digitali sia analogici, on board o su bus di campo (schede remote collegate al PLC o con una rete di comunicazione). Dopo aver letto tutti 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 vengono attivate. 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).
▲== 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.
Line 122 ⟶ 124:
Normalmente il programma viene scritto su PC, quindi scaricato sul PLC, e salvato sul PC stesso, per ulteriori modifiche o per sicurezza.
La
La
=== 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==
I PLC si adattano bene a una serie di compiti di [[automazione]]. Questi sono in genere processi industriali nel settore manifatturiero, dove i costi di sviluppo e manutenzione del sistema di automazione
Per applicazioni in grandi numeri o nel caso di compiti di automazione fissi e molto semplici, vengono utilizzate tecniche diverse. Per esempio, una [[lavastoviglie]] casalinga potrebbe essere controllata da un temporizzatore elettromeccanico a camme,
Un progetto basato su [[microcontrollore]] sarebbe appropriato qualora vengano prodotte centinaia o migliaia di unità e quindi il costo di sviluppo (progettazione di alimentatori, hardware di ingresso/uscita e necessario test e certificazione) possa essere ripartito su molte vendite, e dove l'utente finale non necessiti di modificare il controllo. Un esempio è costituito dalle applicazioni automotive; milioni di unità sono costruite ogni anno, e molto pochi utenti finali alterano la programmazione di questi controllori. Tuttavia, alcuni veicoli speciali quali autobus di linea utilizzano
Un controllo di processo molto complesso, come ad esempio quello utilizzato in un [[impianto chimico]], può richiedere [[algoritmi]] e prestazioni al di là della capacità di PLC anche ad alte prestazioni. Controlli di precisione o ad elevata velocità possono anche richiedere soluzioni personalizzate; ad esempio [[Avionica|comandi di volo degli aeromobili]]. Per applicazioni di controllo molto esigenti, nelle quali può essere sostenuto l'elevato costo di sviluppo e manutenzione, si possono utilizzare dei [[single-board computer]] che utilizzino hardware semi-personalizzato o completamente proprietario. I "Soft PLC" in esecuzione su computer desktop sono in grado di interfacciarsi con l'hardware di I/O industriale eseguendo programmi su una versione di sistemi operativi commerciali adattata per le esigenze di controllo di processo.<ref name=McMillan99/>
Line 149 ⟶ 151:
== Voci correlate ==
* [[Automazione]]
* [[Controllo industriale]]
* [[SCADA]]
== 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 }}
|