Progettazione elettronica e sviluppo di sistemi per automazione
industriale, programmazione firmware, software e PLC
 
   
  Azienda Servizi Contatti Articoli Download Links
 
 
 
 
   
 
 
 
 
 

Nonostante i PC abbiano avuto, ed abbiano tuttora, capacità di calcolo sempre maggiori a prezzi sempre più bassi, permangono alcune barriere che impediscono la completa sostituzione dei PLC.

I limiti che impediscono ai PC di sostituire completamente i PLC sono i seguenti:

Inadeguatezza all'utilizzo in ambiente industriale. Non essendo nati per l'utilizzo in ambienti estremi, i PC si rivelano particolarmente vulnerabili a tutta una serie di sollecitazioni molto frequenti in ambiente industriale, quali ad esempio:

Escursioni termiche. Il ristretto range di temperature in cui è garantito il corretto funzionamento dei moderni PC, è forse il limite più grosso per l'applicazione di questi dispositivi in ambienti estremi. L'aumento della potenza di calcolo procede, infatti, di pari passo con i problemi legati alla dissipazione del calore generato dai circuiti interni ai microprocessori (è noto che l'aumento della frequenza di “clock” di un qualsiasi circuito digitale, non può superare i limiti definiti dalle dimensioni fisiche dello stesso circuito; questo vuol dire che più aumentiamo la velocità dei microprocessori, e più dobbiamo ridurne dimensioni fisiche, diminuendo inevitabilmente anche le sue capacità di dissipare il calore endogenerato). Possiamo quindi concludere che i personal computer si presentano come dei dispositivi poco adatti ad impieghi in ambienti particolarmente caldi, anche se appositamente irrobustiti (PC industriali).

Alimentazione di rete soggetta a brusche variazioni.

Vibrazioni meccaniche. Un esempio rappresentativo di come i comuni PC non siano adatti sopportare sollecitazioni di tipo meccanico, è l’hard disk. Questo dispositivo è divenuto ormai di vitale importanza per i moderni PC, ed è anche l'elemento forse più vulnerabile alle vibrazioni meccaniche, le quali possono anche causare il definitivo danneggiamento d’interi settori (un hard disk sottoposto alle vibrazioni meccaniche tipicamente presenti in ambiente industriale, rischia di bruciare progressivamente tutti i settori del suo disco, divenendo ben presto inutilizzabile).

Disturbi elettromagnetici di varia natura ed intensità. Un circuito elettrico è sempre potenzialmente vulnerabile ai disturbi di natura elettromagnetica, ma questa vulnerabilità è ancora più marcata nel caso dei PC commerciali. Il crescere della potenza di calcolo, ha portato i microprocessori di questi dispositivi a lavorare con delle tensioni sempre più basse, al punto tale da essere divenute ormai paragonabili con quelle che potrebbero essere indotte, nonostante la presenza d’eventuali schermature, dai forti campi magnetici generati in ambiente industriale (in particolare quelli presenti nelle immediate vicinanze di una macchina o un impianto automatizzato, che invece rappresentano l’ambiente di lavoro tipico per il PLC). Una situazione del genere può causare tutta una serie di malfunzionamenti a cadenza casuale, che renderebbe l'utilizzo del PC del tutto inaffidabile!

In conclusione quindi, quando si parla di PLC ci si riferisce a dispositivi che, pur avendo una struttura logica simile a quella dei PC, sono nati, e si sono sviluppati, proprio per operare in piena efficienza anche in prossimità dei sistemi che vanno a controllare. Così anche i microprocessori utilizzati sono scelti tra quelli adatti al particolare tipo di applicazione cui sono destinati; vale a dire che sono scelti tra quelli che ad esempio garantiscono una dissipazione del calore adeguata alle temperature che caratterizzano l’ambiente di lavoro (in quest’ambito è possibile trovare i famosissimi processori Intel ‘486’, ormai obsoleti per i PC, ma ancora utilizzati dai PLC, perché realizzati con una densità d’integrazione che ne consenta l'impiego entro range di temperatura ambiente sufficientemente ampi).

Incapacità di garantire un'esecuzione effettivamente“real – time” del programma, quando si devono gestire tempi di ciclo brevissimi; come è invece spesso richiesto dalle applicazioni d’automazione. Questo punto illustra una altra importante caratteristica a favore dei PLC. Una macchina basata sui tradizionali sistemi operativi per PC come “Windows”, “Unix” o qualsiasi altro, non può essere efficacemente utilizzata per controllare un motore, o magari per leggere un “fine corsa”. Non è possibile farlo perché questi sistemi operativi sono del tipo “multitasking”! Vale a dire che sono organizzati in modo da espletare diversi compiti contemporaneamente, e siccome lo fanno utilizzando un solo processore, non possono seguire in modo costante e continuo un unico processo. Quindi se dobbiamo leggere un fine corsa non possiamo accontentarci di andare a verificare se è attivo o meno ogni ‘ms’, perché magari proprio in quel momento c'è qualcuno che sta giocando con il mouse, ed il computer va a destinare delle risorse anche a questo secondo processo ( per gestire i movimenti del mouse) e quindi rischia di perdere, o acquisire in ritardo, l'informazione che gli arriva dal sensore di fine corsa. Per i motivi appena esposti è opportuno adottare dei sistemi operativi adatti! Un esempio di sistema operativo “ adatto” potrebbe essere il DOS, un altro sistema operativo veramente “real – time” è l’OS9 (sistema peraltro complicatissimo, che è sicuramente meglio evitare).

Normalmente i processi che vengono utilizzati nell'automazione, soprattutto nelle applicazione di “hard real – time”, hanno dei tempi di ciclo troppo brevi per un PC, anche se di ultima generazione! I tempi con cui è necessario eseguire la scansione di tutte le strumentazioni presenti in un impianto, sono in genere troppo brevi per essere seguiti da un sistema multitasking.

Mancanza di linguaggi mirati alla soluzione dei problemi d’automazione. Il linguaggio utilizzato dai PLC è nato e si è sviluppato con il preciso obiettivo di semplificare, e soprattutto velocizzare, l'esecuzione di programmi, in modo da garantirne un'esecuzione “real - time” (è composto di un gran numero d’istruzioni, di veloce esecuzione, strutturate in modo simile a quelle dell’Assembler dei PC, ma in grado di indirizzare fino al singolo bit di memoria); proprio per questo motivo risulta essere molto più adatto ad applicazioni di controllo in ambito industriale, di quanto non lo siano i linguaggi comunemente utilizzati dai PC. I linguaggi di programmazione dei PC sono di tipo “evoluto” e per fare un'operazione elementare impiegano, in genere, decine di cicli macchina. Questo vuol dire che un processore che funziona a 20 MHz, ma impiega 20 cicli per eseguire un'istruzione, è veloce esattamente come un processore che funziona ad un MHz ed esegue un'istruzione a ciclo; con la differenza che il secondo è molto meno vulnerabile del primo, a tutti quei problemi precedentemente analizzati (temperatura, campi magnetici, ecc).

Dato un sistema di controllo, sappiamo che conoscerne il margine di guadagno equivale ad avere la possibilità di sapere fino a che punto possiamo aumentarne l'amplificazione, o tollerare una certa quantità di disturbi all'interno del ciclo di controreazione (sappiamo che le quantità in gioco possono essere al massimo pari al margine di guadagno).

Allo stesso modo, conoscerne il margine di fase significa sapere di poter introdurre un ritardo all'interno del ciclo di controreazione, che potrà al massimo essere pari al valore assunto dal margine di fase stesso. La conoscenza di questo parametro ci dà un’indicazione di estrema importanza del massimo ritardo tollerabile nell'esecuzione della controreazione.

Di conseguenza se il nostro sistema controreazionato ha un margine di fase di un secondo e noi impieghiamo più di un secondo per eseguire il nostro controllo, il sistema va in ciclo limite (nella migliore delle ipotesi si limita ad oscillare, ma ovviamente potrebbe anche andare direttamente in instabilità)!

In conclusione quindi, se abbiamo un sistema controreazionato con un margine di fase di un secondo → il nostro sistema di controllo non potrà impiegare più di mezzo secondo per eseguire i suoi calcoli, perché nella pratica già a mezzo secondo il sistema comincia ad andare in ciclo limite (in questa sede non ci soffermeremo oltre su quest'ultimo aspetto, ma è comunque utile sapere che i tempi in gioco sono quelli portati ad esempio).

La cosa che c’interessa rimarcare adesso, è che in queste applicazioni, per eseguire tutti i calcoli necessari al controllo, si hanno a disposizione margini di tempo ridottissimi; per cui, se noi realizziamo il controllo mediante un dispositivo di calcolo sufficientemente “veloce”, rispetto al processo da controllare, avremo un sistema che rischia di andare in instabilità, con la reale possibilità di danneggiare l'impianto.

Per quanto riguarda l'inapplicabilità del multitasking in automazione industriale, dobbiamo aggiungere che in realtà questo non è sempre del tutto vero. A non essere applicabile è la versione tradizionalmente usata nei sistemi operativi dei PC, ma esiste un'altra forma di multitasking ottimizzato proprio per l'automazione industriale. Questo secondo approccio consente, una volta noto il tempo limite entro cui il sistema può essere controllato, di dimensionare il multitasking in modo tale da garantire sempre l'esecuzione del programma fondamentale entro il tempo limite. Così ad esempio, supponendo di avere un tempo limite di mezzo secondo, si progetta il multitasking in modo da garantire in primo luogo l'esecuzione del programma fondamentale, e poi se rimane ancora tempo all'interno del “mezzo secondo” di tempo utile, dedicare risorse ad altre operazioni. Nel caso in cui l'esecuzione del programma fondamentale richieda 100 ms, avremo a disposizione 400 ms per realizzare il multitasking, trascorsi i quali dovremo necessariamente tornare l'esecuzione del programma fondamentale (quei 100 ms sono vincolati in modo da garantire al minimo l'esecuzione programma fondamentale). Sistemi operativi come ‘Windows’ non consentono tutto questo, anche se in alcune versioni come ‘Windows NT’ c'è la possibilità di arrivare ad un multitasking quasi ideale, ma quel “quasi” per l'automazione industriale non va bene. Le applicazioni d’automazione industriale pretendono il ciclo assicurato!

In aggiunta a quanto sopra, possiamo dire che un'altra grossa differenza tra PC e PLC risiede nel fatto che, mentre i primi lavorano su “parole” di uno o più byte (tutte le informazioni sono memorizzate ed elaborate sotto forma di stringhe di bit a lunghezza standard), i PLC lavorano su singoli bit, che rappresentano degli stati! Così come i relè potevano descrivere due soli stati: ‘0’ ed ‘1’; anche nei PLC (che sono nati proprio per sostituire i quadri a relè) tutte le elaborazioni sono “orientate al bit”!

Per capire meglio questo concetto, si può confrontare un’istruzione d’indirizzamento di memoria per PLC, ed un’analoga istruzione in linguaggio “Assembler” per PC. Nel secondo caso avremmo un’istruzione che punta almeno ad una stringa d’otto bit (in generale non è possibile indirizzare locazioni di memoria d’ampiezza inferiore al byte), mentre nei PLC avremo un'istruzione che indica esattamente in quale bit di memoria e contenuta l'informazione d’interesse.

 

Indietro   Avanti
 
 
 
 
   

 
Copyright © 2008 Autech di Fabbri Andrea
  AddMe.com, Search Engine Submission and SEO