Controllore logico programmabile: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile |
|||
(20 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''' (
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]], 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]] (
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.
Riga 51 ⟶ 52:
=== 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 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]]
=== 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
=== 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'
==== 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 ====
Riga 111 ⟶ 110:
==== Schede safety ====
Sono
▲Sono utilizzate per tutti i segnali e le sequenze il cui controllo deve rispettare normative di sicurezza.
== Funzionamento ==
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.
Riga 128 ⟶ 126:
La normativa [[IEC 61131-3]] del 1993 ha standardizzato 5 linguaggi di programmazione, di cui 3 grafici e 2 testuali.
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==
Riga 158 ⟶ 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 }}
|