Pagina 1 di 1

Differenza Hardware PC e PLC

Inviato: 11 dic 2019, 21:23
da GlitchyGlitch
Salve, volevo sapere quali differenze ci sono tra un PLC e un normale computer da un punto di vista hardware?
Ho già visto sul forum un Post riguardante i plc dove spiegava alcuni concetti, ma non mi è stato del tutto chiaro.
Qualcuno che può darmi una mano con questa domanda?

Re: Differenza Hardware PC e PLC

Inviato: 12 dic 2019, 1:18
da claudiocedrone
Credo che intanto ti possa essere d'aiuto leggere questi:
PC e PLC...

Re: Differenza Hardware PC e PLC

Inviato: 12 dic 2019, 2:27
da SandroCalligaro
Non sono un esperto di PLC, ma in generale...
Ci sono sicuramente molte differenze dal punto di vista delle specifiche di affidabilità (guasti), dell'integrità del segnale (errori dovuti a disturbi o altre condizioni di funzionamento), robustezza meccanica, robustezza rispetto all'alimentazione ed ai disturbi sugli I/O, range operativi di temperatura/umidità/polvere, ...
Nel PLC, si può dissipare meno calore, per evitare ventole e limitare l'ingresso di polvere.

Inoltre, il PLC è adatto a fare relativamente pochi calcoli (rispetto ad un PC), ma deve interfacciarsi in modo semplice con il mondo esterno, in modo robusto ed affidabile (bus di comunicazione industriali, I/O a 24 V, uscite a relé).
Mi aspetto che un tipico PLC usi un microcontrollore di medie prestazioni. Ad esempio, nei vecchi Siemens c'era la serie C165 di Infineon:
https://www.edaboard.com/showthread.php ... emens-PLCs
https://www.infineon.com/cms/en/product ... mily/c165/

Questo video mi sembra carino:
https://www.youtube.com/watch?v=ygd7JICvYYo

PS: ci sono anche i PC industriali, cioè PC che hanno specifiche elettriche e meccaniche particolari, usati in automazione.

Re: Differenza Hardware PC e PLC

Inviato: 2 gen 2020, 10:02
da carlomariamanenti
GlitchyGlitch ha scritto:Salve, volevo sapere quali differenze ci sono tra un PLC e un normale computer da un punto di vista hardware?


Ciao Foto UtenteGlitchyGlitch, per rispondere alla tua domanda serve purtroppo una seconda domanda: "di quale classe di PLC stiamo parlando?"

Descrivere genericamente l'hardware dei PLC attuali è veramente difficile: vi sono infatti PLC destinati ad applicazioni "semplici e general purpose" dove l'hardware proposto è realizzato con schede a microprocessore "relativamente" performanti destinate in alcuni casi a supportare un firmware che interpreta il codice PLC in esecuzione e in altri casi con sistemi che "eseguono" il codice PLC compilato.
A meno di preferire prodotti "dedicati", dove i linguaggi di programmazione e le potenzialità dei differenti interpreter sono riferiti ai differenti brand, (per questi prodotti ogni costruttore prevede linguaggi e ambienti di sviluppo dedicati a volte anche per differenti taglie di PLC); vi sono anche PLC "standard" che, anche se di differenti brand, prevedono l'utilizzo di un ambiente di sviluppo e linguaggi standard, (Codesys per esempio).
Anche in questo secondo caso l'hardware può essere differente, passiamo da CPU "dedicate" all'utilizzo di CPU "general purpose", (Raspberry per esempio); che permettono di "trasformare" una CPU con architettura PC in un PLC a tutti gli effetti.

Vi sono inoltre una seconda classe di PC/PLC destinati ad applicazioni più "spinte": in questi casi l'harchitettura hardware in utilizzo è sempre quella di un PC e a seconda del runtime caricato, (Potrebbe essere Linux, Windows o un sistema Embedded), essi vengono utilizzati come PC, come PLC o come entrambi; in questa terza configurazione, tipicamente uno dei core della CPU viene "preso" in possesso del runtime del PLC e gli altri core dall'OS del PC, (Windows o Linux per esempio). Da un punto di vista funzionale il PLC "vive" di "vita propria" con la sua "porzione" di hardware "dedicata", mentre il SO "vive" con il resto.
In questi casi le prestazioni, (stiamo parlamdo di sistemi deterministici). e le caratteristiche di sicurezza sono sempre garantire pur avendo a disposizione per funzionalità "additive" al PLC o di HMI un PC a tutti gli effetti.

Va da se che l'hardware in utilizzo è sempre di tipo industriale, stiamo parlando di macchine fanless prive di connessioni via cavo tra i vari componenti e con particolari accorgimenti per la dissipazione di calore.

Perdona la breve e sicuramente non chiara descrizione, lo avevo premesso: non esiste una risposta semplice alla tua domanda.

Re: Differenza Hardware PC e PLC

Inviato: 4 gen 2020, 22:48
da dimaios
Foto UtenteGlitchyGlitch, la domanda che fai non ha una risposta semplice perché bisognerebbe analizzare nel dettaglio la storia del PC e del PLC.
Alcune informazioni te le ha già date Foto Utentecarlomariamanenti per cui aggiungo solo qualche dettaglio.
In passato l'hardware tra PC e PLC era profondamente diverso.
E' evidente che mentre il mercato consumer del PC richiede velocità ed innovazione continua quello del PLC prevede una stabilità indiscutibile per cui le prestazioni venivano sacrificate in virtù di questa richiesta ineludibile.
A livello di microprocessori/microcontrollori si trovava di tutto e di più ma non era raro incappare in un ASIC costruito ad-hoc per una serie specifica di controllori.
Anche oggi esistono soluzioni di questo tipo per determinati PLC ma sono sempre più rare ( uno degli ultimi esempi ormai in obsolescenza è il PLC 7100 della Profichip. )
La struttura di questi processori era il più delle volte completamente proprietaria.
All'inizio, vista la tipologia di componenti e le architetture, vi erano processori specifici per task specifici per cui sulla motherboard del PLC trovavi il processore centrale quello di rete ecc.
Successivamente la tecnologia ha permesso di integrare il tutto in un unico ASIC.
Per quanto riguarda le schede sul rack del PLC le cose erano leggermente diverse.
Infatti potevi trovare alcuni processori Intel o Motorola di vario tipo sia nelle schede di rete ( es. Profibus ) sia nelle schede analogiche o controllo assi ( si parla di oltre 20 anni fa ma in cantiere ci sono ancora ).
Ad un certo punto però si era creato un gap enorme tra il costo dell'hardware del PC ( consumer ) e quello del PLC.
Qualcuno ha pensato di sfruttare la situazione per essere competitivo per cui ha iniziato a costruire dei PLC con l'hardware del PC.
Questo non vuol dire che le piattaforme siano identiche e neanche che i processori siano identici.
Infatti i processori industrial sono diversi da quelli consumer a partire dal range di temperature esteso.
Inoltre devono garantire una presenza sul mercato di almeno 10 anni ( 15 meglio ) altrimenti nel mondo industriale non sarebbero presi in considerazione.

Le tecniche di dissipazione, a parità di processore, non sono paragonabili. Lo studio della dissipazione in un dispositivo industriale è molto critica e deve minimizzare la probabilità di rottura prematura del componente.

A livello di compatibilità EMC i test sugli apparati che soddisfano la normativa IEC 61131-2 sono più gravosi rispetto a quelli di un PC comune per cui anche lo sbroglio e le messe a terra delle schede devono essere fatte in modo completamente diverso rispetto al mondo consumer.

La consistenza dei dati memorizzati in un dispositivo industriale generalmente obbliga il costruttore ad impiegare filesystem completamente diversi da quelli di uso corrente in un PC home.

Anche il salvataggio dello stato della macchina prima di uno shutdown dovuto a mancanza di tensione deve essere controllato nel senso che non si può permettere che al riavvio la macchina non "ricordi" il contesto prima del crash ( in alcuni contesti le schede prevedono a bordo dei circuiti di micro-ups che consentono il salvataggio di tutti i dati indispensabili prima dello spegnimento ).

Inoltre devono essere presenti degli strumenti efficienti di disaster recovery nel caso in cui ci sia una corruzione dei dati e soprattutto dei sistemi di safe boot piuttosto complicati per evitare che sulla piattaforma venga installato software non originale.

Ci sono altre 1000 differenze ( molte sull'alimentazione ) ma un unico post non è sufficiente per fare una descrizione esaustiva.

Dal punto di vista hardware sappi comunque che negli ultimi anni i Cortex-A ed i Cortex-M della ARM spopolano.
Soprattutto le formulazioni ibride Cortex-A + Cortex-M permettono in un unico sistema di scorporare la parte di supervisione ( Cortex-A ) dalla parte di controllo spinto ( Cortex-M ).

NOTA IMPORTANTE : Un processore ARM per l'automazione ( es. i.MX8 NXP ) non ha nulla a che vedere con un ARM per il mercato consumer ( es. Snapdragon Qualcomm ) se non altro perché le periferiche integrate sono completamente diverse e sono rivolte ad applicazioni diverse ( la più importante è ovviamente la rete ethernet per il fieldbus industriale )

Ebbene si, ultimamente si trovano molte macchine a costo decisamente basso che permettono di fare controllo e supervisione su una unica piattaforma ( in passato non era così. Il PLC si occupava del controllo mentre l'HMI gestiva la supervisione, ed erano due macchine distinte ).

Questo non è merito solo dell' hardware ma soprattutto del software.
Infatti l'avvento di patch o librerie realtime per Windows e Linux hanno fatto proliferare questo tipo di piattaforme ( vi sono anche altri sistemi operativi ma diciamo che la maggior parte dei produttori utilizza questi due OS ).

Il problema fondamentale è come sempre la stabilità ed il jitter.
Sul jitter potremmo parlare per giorni e giorni ma sappi che è uno dei nemici pubblici numero uno nell'automazione ( soprattutto nel motion control ).

Per fare il tuning del sistema bisogna ottimizzare tutto comprese le parti più intime della macchina.
Per esempio lo sharing delle cache del processore è una delle spade di Damocle più temibili quando vuoi ottenere il determinismo dell'applicazione.
Giocare a Fortnite richiede più potenza di calcolo rispetto al controllo di un robot ma se nel videogame il frame arriva 500 microsecondi dopo non te ne accorgi mentre se in un loop di forza perdi il controllo per lo stesso tempo ..... diciamo che è meglio che non succeda perché potresti distruggere l'oggetto che stai manipolando.

La nuova frontiera del PLC moderno sembra puntare alla virtualizzazione totale. Per ora si vedono in giro solo alcuni timidi esperimenti ma a breve potremmo trovarci di fronte a queste nuove piattaforme. La flessibilità sarebbe enorme ma il tuning del sistema un incubo. Inoltre diagnosticare la ragione di un evenutale fault sarebbe come trovare un ago in un pagliaio. Diciamo che lato utente si potrebbero avere dei vantaggi ma lato costruttore la complessità del design crescerebbe non poco ( questo è il motivo per cui spero che escano sul mercato dopo che avrò raggiunto quota 100!!! :mrgreen: )
E' comunque un discorso lunghissimo e magari lo facciamo un'altra volta se di interesse.