PLC storia, funzionamento e programmazione

 


PLC funzionamento

 

Questo sito utilizza cookie, anche di terze parti. Se vuoi saperne di più leggi la nostra Cookie Policy. Scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.I testi seguenti sono di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente a studenti , docenti e agli utenti del web i loro testi per sole finalità illustrative didattiche e scientifiche.

 

 

Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).

 

 

 

 

 

PLC storia, funzionamento e programmazione

 

 

Storia dei PLC
I controllori logici programmabili (PLC) sono dei dispositivi elettronici che comandano macchine e processi. Sono dotati di memoria programmabile per la memorizzazione delle istruzioni e l'esecuzione di funzioni specifiche, quali il comando di attivazione e disattivazione, la temporizzazione, i conteggi, le funzioni sequenziali e matematiche, e la gestione dei dati.
Lo sviluppo dei PLC iniziò nel 1968 in risposta alle necessità della divisione Hydramatic della General Motors.. Per ridurre gli alti costi di ricablaggio, le specifiche dei controlli GM richiedevano sistemi a stato solido con la flessibilità di un computer, ma che potessero essere programmati e mantenuti dagli ingegneri e dai tecnici dello stabilimento. Tali apparecchiature dovevano, inoltre, resistere alla sporcizia presente nell'aria, alle vibrazioni, alle interferenze elettriche, umidità ed a temperature estreme, condizioni tipiche dell'ambiente industriale.
I primi PLC vennero installati nel 1969 ed ebbero subito un grande successo. Benché ai primordi, i PLO si rivelarono più affidabili dei sistemi a relè a cui subentravano, soprattutto grazie alla resistenza dei loro componenti a stato solido in confronto alle parti mobili dei relè elettromeccanici. 1 PLC consentirono risparmi nei materiali e nei costi di installazione, di manutenzione e di manodopera, riducendo le operazioni di cablaggio ed i relativi errori. Inoltre, occupavano meno spazio dei contatori, dei temporizzatori e degli altri componenti di controllo che sostituivano. E la possibilità di riprogrammarli ne aumentò considerevolmente la flessibilità al momento della modifica degli schemi di controllo.
Forse la caratteristica che più di tutte favorì l'introduzione dei PLC nell'industria fu il fatto che il linguaggio di programmazione iniziale era basato sugli schemi ladder e sui simboli elettrici comunemente usati dagli elettricisti . La maggior parte del personale negli stabilimenti era già addestrato ad usare la logica ladder, che fu quindi adottata con facilità per i PLC. In realtà, la logica ladder riveste a tutt'oggi un ruolo essenziale nella programmazione e nell'individuazione dei problemi, anche se nel frattempo sono stati sviluppati linguaggi di programmazione più "avanzati". Sostanzialmente un PLC può, nel caso più semplice, essere assimilato ad un dispositivo che, leggendo un idoneo programma dalla memoria di cui è dotato ed eseguendo le istruzioni in esso contenute, controlla lo stato dei suoi ingressi e rende attive o meno le uscite di cui è fornito. Gli ingressi e le uscite operano, in genere, in modo digitale a due livelli, anche se spesso i moderni PLC sono dotati di alcuni ingressi ed uscite di tipo analogico. Normalmente agli ingressi sono con- nessi apparati di comando come interruttori, deviatori, sensori, finecorsa, dispositivo fotoelettrici, interruttori induttivi ecc., e alle uscite vari tipi di attuatori come motori (connessi al PLC per mezzo di teleruttori amplificatori di potenza allo stato solido), relè, lampade.
All'interno di un PLC (fig.12.1) sono presenti sostanzialmente gli stessi dispositivo contenuti in un computer: CPU, memoria RAM ed EPROM, interfacce di //O. Il Controllore Programmabile ha, invece, caratteristiche sia strutturali che funzionali completamente diverse. Esso presenta sempre una struttura compatta, robusta, facilmente maneggevole.
Sostanziali sono anche le differenze dal punto di vista funzionale: un PLC svolge ciclicamente sempre lo stesso programma (almeno fin quando non viene variata l'applicazione per cui è utilizzato); non necessita poi, se non in alcuni particolari casi, di un dispositivo di visualizzazione. E dotato di una semplice tastiera alfanumerica che permette l'introduzione dei programma e dei dati, che poi, nella fase operativa, viene quasi sempre staccata dal PLC. La programmazione dei dispositivo può comunque essere operata anche per mezzo di un computer. Un PLC non deve eseguire complesse elaborazioni su grosse quantità di dati ma svolgere controlli sullo stato dei segnali presenti ai suoi ingressi, effettuare elaborazioni di tipo logico o matematico di tipo elementare, ed infine attivare o meno alcune uscite portandole a livello alto o basso in base al programma in esecuzione.
La programmazione dei PLC può essere fatta in genere per mezzo di simbologia grafica con la rappresentazione di contatti normalmente chiusi o aperti, o con schemi a blocchi di tipo logico o, infine, per mezzo di liste di istruzioni elementari.
Normalmente il set d’istruzioni disponibile non è molto vasto. E’ da precisare poi che Controllori Logici Programmabili realizzati da case costruttrici diverse hanno metodi di programmazione diversi anche se sostanzialmente simili.
Poiché i PLC vengono utilizzati essenzialmente in ambienti industriali, i livelli logici dei segnali d’ingresso e d’uscita non sono del tipo TTL o CMOS , ma ben diversi (in genere 0 / 24V) per avere alta immunità ai disturbi.
Gli ingressi e le uscite sono poi spesso separati galvanicamente, e a volte anche filtrati, dalla circuiteria interna del PLC per mezzo di accoppiatori ottici o altri sistemi.
In commercio è presente una vastissima gamma di PLC, che copre tutte le esigenze dell’utenza, sia per quanto riguarda le applicazioni di piccola o media complessità sia quelle di maggiori dimensioni. Tuttavia in quest’ultimo caso è preferibile orientarsi su sistemi distribuiti utilizzando reti di PLC controllati da un
computer o da un altro PLC.

 

Perché usare un PLC?

"Sarebbe meglio usare un controllore logico programmabile?" Durante gli anni '70 e l'inizio degli anni '80, molti ingegneri, dirigenti di produzione e progettisti di sistemi di controllo tennero lunghe discussioni su questo argomento, cercando di valutare la convenienza in termini di costi.
Oggi, una regola comunemente accettata è che i PLC sono economicamente vantaggiosi in sistemi di controllo che necessitino di più di tre o quattro relè. Considerato il costo limitato dei micro PLC e l'importanza che i produttori danno alla produttività e alla qualità, la questione del costo diventa quasi irrilevante.
Oltre ai risparmi di denaro, i PLC forniscono molti altri benefici:
Affidabilità: Una volta scritto e messo a punto, un programma può essere facilmente trasferito e caricato in altri PLC. In questo modo si riducono i tempi di programmazione e di messa a punto, e si aumenta l'affidabilità. Con la logica interamente ospitata nella memoria dei PLC, non si corre il rischio di fare errori logici di cablaggio. Gli unici collegamenti necessari sono quelli dell'alimentazione, degli ingressi e delle uscite.
Flessibilità: Le modifiche ai programmi possono essere effettuate semplicemente battendo un paio di tasti sulla tastiera. I costruttori delle macchine (OEM) possono implementare facilmente gli aggiornamenti del sistema inviando al cliente un nuovo programma anziché un tecnico in
persona. Gli utenti finali possono modificare il programma nello stabilimento oppure, con la stessa semplicità, il produttore può impedire che gli utenti manomettano i programmi (una funzione di sicurezza molto importante).
Funzioni avanzate PLC possono effettuare una grande varietà di comandi, da un'azione semplice e ripetitiva a complesse manipolazioni di dati. La standardizzazione dei PLC apre molte porte ai progettisti e semplifica la vita al personale di manutenzione .
Comunicazioni: La comunicazione con interfacce dell'operatore, altri PLC o altri computer facilita la raccolta dei dati e lo scambio di informazioni.
Rapidità: Poiché alcuni macchinari automatizzati lavorano migliaia di articoli al minuto, e gli oggetti sostano solo per una frazione di secondo davanti ad un sensore, molte applicazioni di automazione richiedono l'installazione dei PLC per la loro rapidità di risposta.
Diagnostica: Le funzioni di individuazione dei problemi dei dispositivo di programmazione e la diagnostica incorporata nei PLC consentono agli utenti di identificare e di risolvere facilmente i problemi software e hardware.

 

I PRINCIPI BASE DI FUNZIONAMENTO DEI PLC
Come già accennato nell’introduzione, il PLC è un dispositivo che, scandendo le singole istruzioni una dopo l’altra, esegue un determinato programma ciclicamente, ovvero arrivato all’ultima istruzione torna a svolgere la prima.
Un PLC è sempre dotato onboard (ovvero sul dispositivo stesso) almeno di un certo numero di ingressi e uscite digitali. Ogni ingresso o uscita rappresenta, per il dispositivo, delle linee in cui possono essere presenti solamente due livelli logici: alto o basso. E’ possibile poi espandere il numero di tali punti d’ingresso e uscita usando un’apposita periferia esterna.
Durante lo svolgimento del programma vengono controllati (interrogati) i vari ingressi e, in base alle particolari istruzioni incontrate, poste a livello alto o basso determinate uscite.
Per comprendere qual è il modo base di operare di un PLC si supponga ad esempio di voler realizzare un circuito elettrico con una lampada L connessa con due interruttori (T1 e T2) del tipo normalmente aperto, posti in serie. La lampada deve accendersi se entrambi gli interruttori sono chiusi. Lo schema elettrico del circuito è riportato in figura 12.2. Si voglia ora utilizzare un Controllore Programmabile che, opportunamente programmato, svolga le stesse funzioni implementate nel circuito elettrico.
I due interruttori dovranno essere connessi a due degli ingressi e la lampada ad una delle uscite (vedere fig. 12.2). Deve essere subito notato che ora gli interruttori non sono più posati in serie come nel circuito elettrico, ma occupano separatamente due ingressi del PLC.
Si suppone poi che l’apparecchiatura sia in grado di fornire corrente sufficiente per pilotare la lampada.

 

Un generico programma che svolga le funzioni proprie dei circuito elettrico, può essere articolato, utilizzando una semplice forma descrittiva, nel modo seguente:
l. controlla lo stato dell'ingresso I1;
2. controlla lo stato dell'ingresso I2;
solo se gli ingressi Il e I2 sono entrambi a livello alto (interruttore T1 e interruttore T2 chiusi), accendi la lampada posta sull'uscita 0;
torna al punto 1.
Quindi il PLC esegue il programma partendo dal punto 1, controlla lo stato degli interruttori e se è verificata la condizione dei punto 3 accende la lampada. Dopo il punto 4 il programma viene nuovamente svolto dall'inizio. Quindi, se in una delle successive elaborazioni del programma lo stato di uno degli interruttori viene variato, cambia la condizione imposta alla lampada. Poiché lo svolgimento di un ciclo di programma in genere è molto breve (dell'ordine di qualche ms o anche meno), le variazioni degli ingressi possono considerarsi riflesse istantaneamente sull'uscita.
Sviluppo del micro PLC
Fino all'introduzione dei micro PLC nella metà degli anni '80, il potenziale aumento dell'automazione di macchine semplici o di processi non particolarmente complessi era stato sfruttato solo in minima parte. Ciò era dovuto al fatto che le alternative ai controlli con relè cablati non erano molto valide.
Benché gli OEM avessero tratto vantaggio dall'uso dei PLC per il comando di apparecchiature, di linee di lavorazione o perfino di interi stabilimenti, non potevano sempre giustificare l'utilizzo di un PLC per piccole applicazioni o macchine a basso costo. E se il problema non era il costo, spesso lo erano le dimensioni. Alcune volte, anche i più piccoli PLC erano semplicemente troppo grossi per lo spazio messo a disposizione dei comandi elettrici.
Fu così, quindi, che lo sviluppo dei micro PLC venne spinto proprio dalla necessità da parte dei costruttori di macchine di avere a disposizione dei PLC che fossero abbastanza piccoli ed economici da sostituire i relè, i temporizzatori e i contatori dedicati, e i controllori a scheda singola. I PLC hanno seguito una curva di sviluppo simile a quella dei personal computer; i primi PLC erano molto ingombranti, costavano molto e possedevano relativamente poche funzioni . Ma con l’evoluzione dei microprocessori e degli altri componenti delle schede elettroniche, i PLC divennero più sofisticati mentre le loro dimensioni e il loro costo diminuirono.
Infatti , delle funzioni avanzate che fino a cinque anni fa erano considerate di stretto dominio dei PLC di medie dimensioni ora sono comuni nei micro PLC.
Funzioni tipiche dei micro PLC

  •  
  • Funzioni matematiche
  •  
  • Istruzioni di manipolazione dei dati
  •  
  • Conteggio ad alta velocità
  •  
  • Routine di conversazione BCD/binari
  •  
  • Funzionalità di temporizzatori e sequenziatori a tamburo
  •  
  • Subroutine e interrupt
  •  
  • Programmazione tramite personal computer
  •  
  • Comunicazione con altri dispositivi elettronici

 

Definizione dei micro PLC
I micro PLC sono unità autonome che comprendono processore , alimentatore, I/O. Per questa loro integrazione, vengono anche chiamati controllori compatti . I PLC modulari, invece, hanno componenti separati che vengono collegati tra di loro . Il vantaggio dei controllori compatti è quello di meno costosi e più facili da installare .
Tuttavia , pochi tra i controllori compatti hanno la possibilità di espandere gli I/O mentre tutti i controllori modulari possono essere potenziati facilmente con la semplice aggiunta di ulteriori schede di I/O nel rack.
Trattazione generale delle funzioni
Le funzioni dei PLC vengono determinate dal tipo di comandi che i sistemi sono in grado di eseguire quando vengono loro impartiti dall'utente. Come già detto, i PLC erano stati progettati inizialmente per fungere da sostituti elettronici dei dispositivi di comando cablati, principalmente bobine e contatti di relè, contatori e temporizzatori. Ed a tutt'oggi, queste funzioni costituiscono ancora la maggioranza delle istruzioni nelle applicazioni con micro PLC. Inoltre, i micro PLC aprono nuove possibilità di controllo con funzioni avanzate quali le quattro funzioni matematiche, il confronto di dati (ossia uguale a, maggiore di, ecc.), la manipolazione di dati (ad es. ordinamento di pezzi o controllo di posizione di pezzi difettosi), le subroutine sofisticate, la sequenzializzazione (in luogo dei sequenziatori a tarnburo) e le altre caratteristiche apprezzate dal progettisti esperti di sistemi di controllo.
Forse la proprietà più entusiasmante dei micro PLC è la loro capacità di contare molto rapidamente. La velocità, la chiave del successo di molte applicazioni automatizzate, può anche causare dei problemi nel caso il PLC non riesca a mantenere lo stesso ritmo delle operazioni di produzione. Ad esempio, se dei pezzi o dei materiali passano molto rapidamente davanti ad un sensore di prossimità, il contatore di un normale PLC potrebbe "perderne" alcuni in quanto essi procedono ad una velocità maggiore di quella alla quale il PLC può rilevare i segnali del sensore. Tuttavia, i contatori ad alta velocità operano indipendentemente dalla scansione del programma, il che consente loro di contare ad una velocità molto maggiore, tipicamente dalle 2000 alle 6000 volte al secondo. Inoltre, alcuni contatori ad alta velocità possono eccitare un'uscita immediatamente (ossia senza dover aspettare il normale periodo di scansione del programma), aumentando così in modo notevole la rapidità e le prestazioni dell'impianto. Ciò consente al contatore di influenzare le operazioni di comando quando la precisione nelle frazioni di secondo è un fattore cruciale.

 

TRATTAZIONE GENERALI DEI COMPONENTI:
Al fine di imparare il funzionamento dei PLC, è necessaria una breve trattazione dei loro componenti.
Tutti i PLC , dai micro ai grandissimi, sono dotati degli stessi componenti di base e hanno strutture simili .I sistemi PLC consistono di :

  •  
  • INGRESSI
  •  
  • USCITE
  •  
  • CPU
  •  
  • MEMORIA, PER LA CONSERVAZIONE DI PROGRAMMI E DATI
  •  
  • ALIMENTATORE
  •  
  • DISPOSITIVO DI PROGRAMMAZIONE
  •  
  • INTERFACCIA OPERATORE

GLI INGRESSI
Gli ingressi includono componenti quali i pulsanti , i selettori rotativi , gli interruttori di fine corsa, i selettori manuali , i sensori di prossimità e i sensori fotoelettrici.
Questi sono tutti dispositivi discreti che forniscono al PLC lo stato di chiusura o di apertura dei circuiti .
Mentre i PLC più grandi sono in grado di accettare valori analogici (segnali di tensione o di corrente variabili) come ad esempio da sensori di temperatura o di pressione , tipicamente i micro PLC non sono dotati di questa capacità.
I segnali elettrici che i dispositivi di campo inviano al PLC normalmente sono segnali a 120V c.a.(corrente alternata) o a 24V c.c. (corrente continua) non filtrati. I circuiti di ingresso del PLC "manipolano" queste tensioni di campo in modo che il PLC le possa utilizzare.
Tale conversione è necessaria in quanto i componenti interni del PLC funzionano a 5V c.c , il che li protegge dagli sbalzi di tensione riducendo i rischi di danni. Per isolare elettricamente i componenti interni dai morsetti di ingresso, i PLC sono dotati di isolatori ottici che utilizzano la luce per accoppiare i segnali da un dispositivo elettrico all’altro.
I circuiti di ingresso del PLC "filtrano" inoltre i segnali di campo per determinare se sono validi, come ad esempio i segnali provenienti da un sensore, o se non lo sono, come i disturbi elettrici ad alta frequenza o dovuti alla statica. I filtri degli ingressi determinano la validità del segnale in base alla sua durata; in altre parole, "aspettano" prima di confermare la provenienza del segnale da un dispositivo di ingresso piuttosto che da un disturbo elettrico.
L’intervallo tipico di filtraggio è di 8 ms, ma in alcuni PLC tale intervallo può essere regolato.
Se il tempo di risposta è maggiore le interferenze elettriche vengano filtrate meglio. D’altra parte, se il tempo è inferiore è un vantaggio nelle applicazioni che richiedono elaborazioni veloci (ad esempio l’interrupt o i conteggi).

 

USCITE
Ai morsetti di uscita del PLC sono collegati dei dispositivi quali solenoidi, relè, contatori, avviatori, spie luminose, valvole e allarmi.
I circuiti d’uscita funzionano in modo analogo a quelli d’ingresso:
i segnali dalla CPU passano attraverso una barriera isolante prima di eccitare i circuiti di uscita.
I PLC utilizzano diversi tipi di circuiti per dare energia ai propri morsetti d’uscita: relè, transistor e triac.
I relè vengono usati per corrente alternata o continua. La portata dei relè elettromagnetici per PLC tradizionali è normalmente di pochi ampere. Tuttavia sono relativamente lenti e soggetti ad un’usura nel tempo.
I transistor commutano la corrente continua, sono silenziosi e non contengono parti mobili soggetti ad usura. Inoltre sono veloci e possono ridurre i tempi di risposta, ma sono in grado di sopportare solo carichi di 0.5 A o meno. Tipi speciali di transistor, quali FET possono sopportare potenze superiori, normalmente fino ad 1A.
I triac hanno prettamente lo scopo di commutare corrente alternata. Analogamente ai transistor le uscite triac sono silenziose, non contengono parti mobili soggette ad usura, sono veloci e sono in grado di sopportare carichi di 0.5 A o meno.
CPU: unità centrale di elaborazione

La CPU, che consta di un microprocessore e di un sistema di memoria, rappresenta il componente principale dei PLC. La CPU legge i segnali in ingesso, esegue la logica indicata dal programma applicativo, esegue i calcoli e controlla le uscite di conseguenza. Gli utenti dei PLC lavorano con due aree della CPU: i file dei programmi e i file dei dati. 1 file dei programmi contengono i programmi applicativi dell'utente, i file delle subroutine e il file di errore. I file di dati contengono i i dati relativi al programma, quali lo stato degli I/O, i valori preimpostati ed accumulati dei contatori e dei temporizzari nonché altre costanti e variabili memorizzate. Collettivamente, queste due aree prendono il nome di memoria applicativa o memoria dell'utente. Nella CPU si trova anche un programma esecutivo, o memoria del sistema, che impartisce comandi ed esegue "operazioni" quali l'esecuzione del programma dell'utente e la coordinazione delle scansioni degli ingressi e degli aggiornamenti delle uscite. L’utente non può accedere alla memoria del sistema, che è programmata dal produttore. Come dice il nome, i controllori logici programmatili sono dotati di memoria programmatile che consente agli utenti di sviluppare e modificare i propri programmi di controllo. La memoria è uno spazio fisico all'interno della CPU dove i file dei programmi e dei dati vengono memorizzati e manipolati. I tipi di memoria si dividono in due categorie: volatile e non volatile. La memoria volatile può essere alterata o cancellata facilmente e si può scrivervi o leggere dati da essa. Tuttavia, senza un'adeguata riserva, l'interruzione di energia elettrica può causare la perdita di quanto programmato.
TIPI DI MEMORIA DI APPLICAZIONE:
Come dice il nome, i controllori logici programmabili sono dotati di memoria programmabile che consente agli utenti di sviluppare e modificare i propri programmi di controllo.
La memoria è uno spazio fisico all’interno della CPU dove i file dei programmi e dei dati vengono memorizzati e manipolati.
I tipi di memoria si dividono in due categorie: volatile e non volatile.
La prima può essere alterata o cancellata facilmente e si può scrivervi o leggere dati da essa.
Tuttavia, senza un’adeguata riserva, l’interruzione di energia elettrica può causare la perdita di quanto programmato.
Il tipo più conosciuto di memoria volatile è la memoria RAM (Memoria ad accesso casuale).
E’ relativamente veloce e rappresenta un mezzo semplice di creazione e memorizzazione dei programmi applicativi dell’utente. Nel caso vi siano problemi di alimentazioni, i micro PLC con memoria RAM usano una batteria o condensatori di riserva, anche nell’eventualità di un’interruzione di energia elettrica. Tuttavia, anche i condensatori e la batteria possono guastarsi.
La memoria non volatile invece, ritiene quanto in essa programmato, senza dover usare batterie o condensatori di riserva, anche nell’eventualità di un’interruzione di energia elettrica.
La memoria EEPROM (Memoria di sola lettura cancellabile elettricamente) è un tipo di memoria non volatile con la stessa flessibilità della RAM e programmabile mediante software applicativo eseguito su PC, o mediante il dispositivo di programmazione portatile PLC.
Possiamo anche dire che questi due tipi di memoria RAM e EEPROM, non riescono a salvare i dati
di processo, qualora ci sia una interruzione di energia elettrica, accumulati da un temporizzatore o un contatore. Per ovviare a questo inconveniente si consiglia l’utilizzo di un PLC che abbia la capacità di mantenere i dati al 100%. Questi tipi particolari di PLC quando ce ne sia la necessità salvano automaticamente i dati di processo nella memoria EEPROM non volatile.

Temporizzatori:
I timer interni svolgono funzioni fondamentali, permettendo al programmatore di temporizzare il verificarsi di determinati eventi. I temporizzatori, tutti del tipo non retentivo, hanno indirizzi nel campo 0 – 127.
E’ importante notare che una volta attivato il temporizzatore, il conteggio procede in modo asincrono rispetto all’esecuzione del programma. Ovvero le istruzioni vengono svolte una dopo l’altra fino alla fine per poi ripartire dalla prima mentre il tempo scorre.
Quindi, il temporizzatore si comporta come un elemento indipendente che una volta avviato fa scorrere il tempo fino al valore impostato, se non intervengono elementi che lo azzerano.
Timers e Counters
Le Temporizzazioni ed i Conteggi sono gestite mediante delle strutture che contengono sostanzialmente 3 tipi di informazione:
uno Stato (valore ad 1 bit) che indica se il tempo od il conteggio sono scaduti (1) oppure no (0) un Valore corrente (word) che contiene il tempo trascorso dall'abilitazione o i conteggi effettuati il Setpoint (word), cioè il valore impostato. Quando esso viene raggiunto dal valore corrente lo stato va a 1.
Anche queste strutture sono gestite, nel programma, mediante bobine e contatti. Nel caso dei contatti l'interpretazione è simile agli altri casi.
L'attuazione avviene invece mediante bobine speciali per permettere
DATI, MEMORIA E INDIRIZZAMENTO:
Mentre la memoria è uno spazio fisico i dati sono le informazioni conservate in tale spazio. La CPU funziona esattamente come un calcolatore, in quanto manipola i dati per mezzo di cifre binarie, ossia i bit. Un bit è una posizione discreta entro un chip di silicone nella quale o la tensione è presente, nel qual caso il valore rilevato è 1 (eccitato), o non è presente, per cui il valore è 0 (diseccitato).
Il bit è l’unità di memoria più piccola a discposizione. Generalmente, le CPU elaborano e memorizzano i dati in gruppi di 16 bit, comunemente chiamati "parole" o "word".
Ciascuna parola di dati ha una posizione fisica specifica nella CPU, chiamata "indirizzo" o "registro". Ad ogni elemento nel programma dell’utente viene fatto riferimento mediante un indirizzo, che indica dove vengono memorizzati i dati di quell’elemento.
Quando si assegnano gli indirizzi agli I/O in un programma, bisogna tenere a mente che tali indirizzi sono relativi ai morsetti ai quali i dispositivi di ingresso o di uscita sono collegati.

CICLO OPERATIVO:
Tutti i componenti del sistema PLC entrano in azione durante il ciclo operativo, che consiste in una serie di operazioni eseguite in sequenza e ripetitivamente.
Gli elementi principali del ciclo operativo sono i seguenti:
1.Scansione degli ingressi. Durante la scansione degli ingressi, il PLC esamina i dispositivi di ingresso esterni per controllare se vi è tensione o meno, ossia controllare se i circuiti sono aperti o chiusi. Lo stato degli ingressi viene memorizzato temporaneamente in un file di memoria di "immagine degli ingressi".
2.Scansione del Programma. Durante la scansione del programma, il PLC legge le istruzioni nel programma in logica ladder, usa lo stato degli ingressi contenuto nel relativo file immagine e determina quali uscite verranno eccitate e quali no.
Il conseguente stato delle uscite viene scritto nel file di memoria di "immagine delle uscite".
3.Scansione delle Uscite. Il PLC eccita o diseccita i suoi circuiti d’uscita, in base ai dati contenuti nei file delle uscite, controllando così i dispositivi esterni.
ALIMENTATORI:
L’alimentatore fornisce l’energia ai componenti elettronici all’interno del controllore, converte la tensione in entrata in modo che possa essere utilizzata e protegge i componenti del PLC dagli sbalzi di tensione. Si deve considerare il fatto che la maggior parte degli stabilimenti sono soggetti a sbalzi di tensione. Gli alimentatori del PLC sono progettati in modo da non far alterare il funzionamento del dispositivo anche quando la tensione vari dal 10 al 15%.
Inoltre l’alimentatore del PLC è progettato in modo da sopportare le brevi interruzioni di energia elettrica senza compromettere il funzionamento del sistema.
Un fattore che può compromettere il funzionamento del PLC sono le interferenze elettromagnetiche, o disturbi elettrici. Benché i PLC siano più resistenti della maggior parte delle apparecchiature elettroniche, le interferenze elettromagnetiche possono ancora creare dei problemi. In tal caso, il PLC deve essere isolato elettricamente tramite un trasformatore di isolamento.
Fino a poco tempo fa, tutti i micro PLC operavano a 24V CC. Tuttavia diversi produttori di micro PCL offrono ora prodotti che operano a 120V CA, 220V CA o 24V CC.
Gli utenti hanno così la possibilità di scegliere la tensione che più si adatta alle loro esigenze.
INTERFACCE OPERATORE:
Per poter inviare i dati relativi allo stato del macchinario, il pannello anteriore del PLC è dotato di una serie di spie luminose che indicano l’alimentazione, il funzionamento, eventuali guasti o lo stato degli I/O. Per comunicare con il PLC, ossia per immettere dei dati oppure per seguire e controllare lo stato della macchina, le interfacce operatore tradizionali includono dei pulsanti, dei selettori rotativi, delle spie e dei visualizzatori numerici a LED.
Per migliorare l’interfaccia fra l’operatore e il micro PLC, è stata creata una nuova generazione di dispositivi elettronici di interfaccia operatore (o periferiche).
Non si tratta di dispositivi di programmazione ma bensì di visualizzatori grafici o alfanumerici e di pannelli di comando.
Queste interfacce forniscono informazioni migliori e riducono i costi di impianto, dei componenti e di installazione.

 

Assegnazione degli I/O esterni

Il modo in cui gli I/O esterni sono assortiti e debbono essere pilotati può essere molto diverso. Ad esempio si possono avere degli I/O, raggruppati in un rack, pilotati ognuno da una propria scheda oppure degli I/O, distribuiti lungo un
Fieldbus, e pilotati da un'unica scheda di interfaccia, oppure, ancora, si puo' avere un mix di queste due situazioni..
E' compito dell' "I/O Driver" gestire l'immagine Virtuale ed assegnarla ai dispositivi fisici.
Sebbene le combinazioni possano essere molteplici l'indirizzo Virtuale puo' essere univocamente assegnato ad un Indirizzo fisico utilizzando 2 sole informazioni aggiuntive e ponendo la limitazione di trattare gli I/O digitali a gruppi minimi di 16 Bit (1 word). Per ogni Word di I/O Virtuale e' quindi possibile abbinare :
un'indicazione di Tipo e un Indirizzo
I Tipi e gli Indirizzi leciti per ognuno di essi sono definiti, di volta in volta, dall'I/O Driver utilizzato.

 

OPERAZIONI DI CARICAMENTO E DI TRASFERIMENTO:
Per eseguire molte delle operazioni previste dal PLC è spesso necessario caricare dei dati nell’accumulatore ACC1 o in ACC2, o anche trasferire i valori presenti in essi verso altri tipi di operandi. Sono previste quindi istruzioni di caricamento (L) e di trasferimento (T) dei dati.
Operazioni di Memorizzazione:
Si possono eseguire tre operazioni di memorizzazione denominate di SET (S), RESET (R), e ASSEGNAZIONE (=). Con l’operazione di SET si assegna all’operando il valore 1 e con RESET il valore 0 quando nelle precedenti elaborazioni diviene RLC=1. Se RLC cambia nei successivi cicli del programma, i valori assegnati agli operandi non vengono modificati.
Con l’ASSEGNAZIONE (=) viene invece attribuito all’operando, dinamicamente il valore che ha in quel momento RLC.
E’ possibile agire con le operazioni di memorizzazione sugli ingressi, sulle uscite e sui merker.
PROGRAMMAZIONE DI UN PLC:
Ogni modello di PLC ha un modo diverso di programmazione. Tuttavia rimane abbastanza simile il modo di impostare i programmi. Si ha in genere la possibilità di effettuare la programmazione del controllore programmabile servendosi di liste descrittive, di sequenze di istruzioni o anche per mezzo di rappresentazioni grafiche. L’esecuzione di un programma da parte di un PLC consiste nell’eseguire il controllo degli stati degli ingressi, eseguire su tali stati delle operazioni, logiche per poi abilitare o meno particolari uscite.
METODI DI PROGRAMMAZIONE DI UN PLC:
Si prenda per esempio lo schema di figura 12.2 con gli interruttori T1 e T2 in serie tra loro e la lampada. E’ evidente che sul PLC, essendo ognuno degli interruttori connessi con uno degli ingressi, il programma dovrà eseguire l’operazione logica AND (con i livelli degli ingressi) e assegnare il risultato dell’operazione logica all’uscita su cui è collegata la lampada.

Infatti I1 AND I2=1 se l’ingresso I1 è a livello alto (interruttore T1) e se l’interruttore 2 è a livello alto (T2 chiuso). Per l’esempio di figura 12.3 invece sarà necessario l’operazione logica di OR per accendere la lampada. Infatti I1 OR I2=1 se l’ingresso I1 è a livello alto (interruttore T1 chiuso) o se l’ingresso I2 è a livello alto (T2 chiuso). Quando poi con il PLC è possibile eseguire una programmazione con simboli grafici si ha in genere la possibilità di scrivere il programma con una lista di simboli rappresentanti le porte di uscita del PLC, bobine di relè, contatti elettrici (Normalmente chiuso e Normalmente aperto ecc…) e altri dispositivi incrementabili nel sistema.

 

Fonte: http://noisiamola5i.altervista.org/blog/wp-content/uploads/2011/10/Storia-dei-PLC.doc

Autore del testo: non indicato nel documento di origine

Parola chiave google : PLC funzionamento tipo file : doc

 

PLC funzionamento - PLC programmazione

 

Controllori a logica programmabile PLC

Prima dello sviluppo dei controllori a logica programmabile (l'acronimo ‘PLC’ deriva dall'inglese “Programmable Logic Controller”), i sistemi automatici erano gestiti da dispositivi elettromeccanici cablati, pneumatici o idraulici, espressamente studiati per ogni specifica applicazione. Queste realizzazioni rendevano gli impianti difficilmente modificabili, e quindi inadatti a soddisfare le esigenze di una sempre maggiore adattabilità alle specifiche di produzione (necessità di ammodernare continuamente l'impianto, e/o di modificare la produzione in maniera veloce ed economica).

 

L'elemento su cui si basava la realizzazione della logica nei sistemi automatici, prima degli anni ’60, era il “relè”.

Mediante l'uso di questi dispositivi elettromeccanici è possibile realizzare tutta una serie di regole (ad esempio: se una serie d’interruttori sono aperti, e contemporaneamente un'altra serie di interruttori sono chiusi, allora si attivare una determinata uscita), utilizzando logiche anche abbastanza complesse. Grazie a questa loro caratteristica i relè furono, di fatto, dei componenti insostituibili fino agli anni ’65 – ’70.

Le loro dimensioni, di certo non ridottissime, facevano sì che gran parte dei controlli per l'automazione industriale richiedessero, per essere implementati, l'utilizzo d’interi armadi pieni di relè (non era raro trovare intere pareti di questi contenitori, adibiti al controllo dei processi più complessi).

 

Abbiamo già anticipato che mediante i quadri a relè era necessario realizzare funzioni logiche anche molto complesse, per questo motivo si preferì basare la loro progettazione su una schematizzazione della realtà, che attraverso l'utilizzo di una simbologia abbastanza intuitiva, mirasse a semplificare il lavoro dei progettisti.

Un esempio di questa schematizzazione è riportato nella slide seguente, ove è rappresentato il progetto di un dispositivo a relè, in grado eseguire contemporaneamente un ‘AND’ ed un ‘OR’, su tre ingressi distinti (‘R0’, ‘R1’, ‘R2’).

La forza di questa schematizzazione sta nel riuscire ad evidenziare la logica delle operazioni, pur utilizzando notazioni d’immediata interpretazione elettrica e quindi facilmente comprensibili per un qualsiasi tecnico dell'epoca (bisogna tener conto, infatti, che prima degli anni ’60 le culture tecniche dominanti nel campo dell'automazione industriale erano: la meccanica e l’elettrotecnica; l'elettronica non aveva ancora lo spazio che avrebbe conquistato solo in seguito e le discipline informatiche stavano muovendo i loro primi passi e non facevano certo parte del patrimonio culturale di base degli operatori del settore).

Il diagramma mostrato nella slide precedente va quindi interpretato proprio come un circuito elettrico, in cui la tensione d’alimentazione è applicata tra i due nodi principali del circuito (contrassegnati con “Fase” e “Neutro” nello schema precedentemente mostrato), dai quali dipartono una serie di rami o “pioli” (per comodità nel prosieguo chiameremo “pioli” i rami compresi tra i due nodi principali, pensando all'intero circuito come ad una scala a pioli), che, almeno in prima analisi, possiamo dividere in due categorie funzionali distinte:

  • Quelli utilizzati per schematizzare l'associazione tra gli ingressi del circuito e la rete d’alimentazione delle bobine dei relè ivi impiegati.
  • Quelli utilizzati per implementare le operazioni logiche che devono essere eseguite in contemporanea. Infatti, ognuno dei pioli di questa seconda categoria, implementa una serie d’operatori logici che dovrà essere eseguita “in parallelo” a quelle contenute negli altri pioli, esattamente come in parallelo sono i rami del circuito elettrico che le rappresentano .

 

Ovviamente questa distinzione non va interpretata in modo rigoroso, poiché al crescere della complessità del circuito diventa spesso necessario inserire bobine d’attivazione anche all'interno della seconda categoria di pioli .

 

Per comprendere meglio il significato di ognuno dei simboli utilizzati nella schematizzazione vista, è opportuno fare un passo indietro, per comprendere il processo attraverso il quale si è passati dal circuito “fisico”, a quello “schematico”.

Filosofia originaria

La filosofia originaria fu quella individuare un linguaggio che potesse essere considerato “naturale” dai tecnici addetti all'automazione, i quali erano abituati ad avere a che fare con circuiti a relè.

Per far questo era quindi necessario che gli schemi di progettazione ricalcassero: significato fisico e funzionamento di componenti e circuiti reali. La natura di questo parallelismo è messa in luce nelle slide seguenti, ove è rappresentato un sistema costituito da due ingressi (interruttori: ‘I1.0’, e ‘I1.1’) ed un'uscita (lampada ‘O4.0’).

 

  

 

  

 

Dalle associazioni appena presentate, si evince quanto segue:

Gli interruttori sono utilizzati per simulare lo stato degli ingressi.

I condensatori sono utilizzati per rappresentare i contatti dei relè .

Le sigle alfanumeriche associate a condensatori e bobine, hanno lo scopo di segnalare le reali corrispondenze tra questi due aspetti di un unico elemento fisico: il relè.

Le bobine rappresentano, dal punto di vista logico, degli elementi in grado di memorizzare il passaggio di corrente, attraverso il posizionamento di un interruttore .

Le lampadine stanno a segnalare le uscite (o le periferiche a loro collegate), e saranno da considerare attivate solo nel caso in cui siano attraversate da corrente.

Il calcolo di funzioni logiche implementate su pioli diversi è intrinsecamente parallelo (il passaggio di corrente non può avere una logica sequenziale).

 

Attraverso questa simbologia, abbastanza semplice da maneggiare anche per una persona che non abbia una formazione di tipo ingegneristico, venivano disegnati interi armadi di relè!

 

Dal relè al PLC

E’ facile intuire come l'utilizzo dei controllori a relè richiedesse l'accettazione implicita di tutta una serie di grossi inconvenienti:

Debugging difficoltosi;soprattutto nei sistemi di una certa complessità (riuscire ad individuare un relè rotto, o mal collegato, all'interno di un enorme circuito contenuto in un armadio di sei metri, può non essere una operazione semplice da fare).

Manutenzioni onerose; legata all'utilizzo di una gran quantità di strumenti elettromeccanici (i relè), sensibili, per loro stessa natura, all'usura ed all'invecchiamento.

Ingombro elevato; per quanto in origine i relè fossero considerati dispositivi di ridotte dimensioni, la necessità di controlli sempre più complessi nel campo dell'automazione industriale, ha portato gli impianti di maggiore dimensione a misurarsi con la necessità di realizzare circuiti fisicamente molto grandi.

Consumo elevato; l'alimentazione della bobina di eccitazione di un relè comporta consumi non indifferenti.

 

Tutti questi motivi spinsero la “General Motors”, che negli anni '60 era sicuramente uno dei più grossi utilizzatori d’automazione industriale al mondo (possedeva impianti di grandi dimensioni sparsi un po' per tutti gli Stati Uniti d'America), ad organizzare una gara per la progettazione di un dispositivo che potesse sostituire i quadri a relè nel controllo degli impianti.

Da questa gara vennero fuori diverse idee, ma quella che si affermò maggiormente negli anni '70, fu proprio il PLC: un dispositivo elettronico basato su microprocessore (negli anni '70 i microprocessori erano ancora molto diversi da quelli attuali), con architettura “general  porpose dedicata al controllo logico sequenziale, progettato per l'uso in ambiente industriale e quindi economico, potente, affidabile, robusto, di ridotta manutenzione, bassi consumi, espandibile, e soprattutto programmabile; in grado cioè di interpretare regole simili a quelle precedentemente viste, in modo da attivare ingressi ed uscite, in funzione della logica implementata dal programma in memoria.

 

Dicevamo che tra le varie proposte fu scelta l'idea presentata dalla società “Bedford Associates”, che propose una macchina chiamata “Modicon” (Modular Digital Controller), che a tutti gli effetti possiamo considerare il progenitore dei PLC (il Modicon 084 fu il primo PLC ad essere commercializzato e prodotto in larga scala). In sostanza, questa società ebbe l'intuizione di realizzare un nuovo strumento basato su microprocessore, la cui logica di funzionamento ricalcava sostanzialmente quella di un piccolo computer. L'idea di utilizzare un microprocessore non nasceva direttamente dalle specifiche dettate della General Motors, ma fu un'iniziativa autonoma di questa società. Ovviamente ci furono molte altre proposte (tra cui anche sistemi basati su computer, schede elettroniche programmabili attraverso dei pin, ecc), che nel corso degli anni hanno avuto differenti successi (alcune di queste soluzioni sono riuscite ad arrivare anche ai giorni nostri), ma in realtà la maggior parte dei sistemi attualmente utilizzati è o deriva dai PLC.

La successiva evoluzione dei microprocessori ha portato, alla fine degli anni '70, a ritenere che ben presto i PLC sarebbero stati largamente sostituiti con sistemi "custom". Ciò non è avvenuto e difficilmente avverrà in campo industriale; piuttosto i moderni microprocessori sono stati fortemente utilizzati all'interno dei PLC ed hanno contribuito a rendere tali dispositivi sempre più competitivi nel mercato dell'automazione. La difficoltà di trovare in automazione situazioni ripetive, la necessità di personalizzazioni e miglioramenti, imposti dal mercato, rendono poco convenienti soluzioni realizzate “ad hoc”, non solo con sistemi a microprocessore, ma anche con soluzioni “fully custom” basate su dispositivi integrati VLSI.

 

Tra le specifiche dettate dalla “GM” nel 1968, per il definitivo passaggio dalla logica cablata a quella programmata, possiamo fare una distinzione in base al loro caratteri di attualità, rispetto alle problematiche che caratterizzano l'automazione industriale:

Obsolete (si riferiscono a problematiche ormai risolte dall'avanzamento tecnologico):

Ridurre l'occupazione di spazio ed i consumi, rispetto all'equivalente realizzazione a relè.

Avere una memoria espandibile, capace di memorizzare almeno 4000 istruzioni.

Moderne:

Facilità di programmazione, e “riprogrammazione”, espletabili presso l'utente, con tempi d’interruzione minimi.

Essere in grado di comunicare con un sistema centralizzato di raccolta dati.

Essere competitivo in termini di costo d'acquisto e d’istallazione.

Attuali:

Essere realizzato con tecniche idonee al funzionamento in ambiente industriale.

Essere in grado di garantire facilità e rapidità di manutenzione e riparazione (attraverso d'utilizzo d’indicatori di stato e la realizzazione di un progetto modulare).

Interfacciasi direttamente con i segnali standard presenti negli impianti.

Strutturato in modo da essere facilmente espandibile, a partire da una configurazione minima, fino ad una massima, attraverso   modifiche che richiedono tempi di arresto minimi.

 

Tra le principali necessità dell'automazione industriale, che mossero l'iniziativa della General Motors prima, e decretarono il successo di mercato dei PLC poi, troviamo:

Affidabilità (in quanto dispositivi anche meccanici, i relè erano soggetti a guasti frequenti).

Espansibilità (necessità di poter aggiornare l'impianto, o modificare la produzione, in modo veloce ed economico).

Semplicità di programmazione. Era necessario che fosse semplice almeno quanto quella di sistemi a relè → facilmente comprensibili ed utilizzabili anche da tecnici esperti d’impianti elettrici (in quegli anni c'erano ancora pochi esperti informatici).

Possibilità di facile migrazione tra dispositivi di produttori diversi. Quest'ultimo aspetto è forse l'unico, che per ragioni di marketing, non è stato ancora risolto completamente (esattamente come un computer basato su una piattaforma IBM non è compatibile con un altro computer basato su piattaforma Apple o Commodore, ecc). Nacquero così tanti tipi di PLC tra di loro non compatibili, che via via portarono alla formazione di due grandi gruppi: quello che fa capo alla “Siemens” (Tedesca); e quello che fa capo alla “Allen – Bradley”(Americana).

 

In sostanza, quindi, possiamo dire che un PLC è:

Gestione automatica delle periferiche di I/O.

Interfacciamento diretto con periferiche di qualsiasi tipo: motori, robot, e quant'altro può avere un ingresso di tipo elettrico.

Gestione parallela del processo. Almeno all'inizio, si voleva che i PLC andassero ad emulare perfettamente anche il parallelismo messo in atto dai sistemi a relè, dove le diverse regole implementate erano eseguite contemporaneamente (in virtù del fatto che l'elettricità che entra nel circuito da sinistra, non può che attraversare contemporaneamente tutti i circuiti in parallelo). Si decise di utilizzare questo approccio, per consentire ai tecnici che lavoravano sui circuiti a relè, di continuare a lavorare sui PLC esattamente allo stesso modo, senza avere la necessità di un ulteriore addestramento ( questo era lo scopo della General Motors, la quale voleva avere un sistema che fosse più affidabile, ma che allo stesso tempo non richiedesse l'impiego di ingenti risorse economiche; non si voleva andare oltre le spese fisse, necessarie per la sostituzione fisica degli apparati).

Set di istituzioni orientato all'applicazione.

Tecnologia costruttiva di tipo industriale.

 

I primi microprocessori usati furono gli 8080 della Intel, che avevano una velocità di 1 MHz (estremamente alta per quegli anni). Nel ‘73 nacquero i primi PLC in grado di comunicare tra loro, collegati in rete .

Uno dei limiti più grossi dei PLC del passato, era rappresentato dal fatto che ogni volta che si doveva modificare il programma, era anche necessario riscriverlo da capo! Se si pensa a alle enormi possibilità d’errore in cui si può incorrere nello scrivere 10000 - 20000 righe di codice, si capisce come quest’aspetto fosse una vera e propria iattura.

Un ulteriore innovazione importante, è stata quella dell'introduzione della programmare mediante l'utilizzo di un PC esterno , perché ha ulteriormente semplificato l'utilizzo di questi dispositivi, ed ha portato con sé tutta una serie di facilitazioni; come l'ausilio di strumenti grafici, la possibilità di fare una progettazione assistita da calcolatore, ecc.

 

STANDARD “IEC 1131-3”

Un altro grosso problema dei PLC, rimasto tuttora parzialmente irrisolto, è quello della loro standardizzazione; infatti, ogni produttore di PLC ha introdotto un marchio ed una tipologia proprietari (interpretabili solo da loro tipo di PLC). Per avere una significativa riduzione delle piattaforme in commercio bisogna attendere gli anni ’90, anno in cui, attraverso lo standard che si chiama “IEC 1131-3”, si definirono dei linguaggi standard per la realizzazione dei programmi per PLC (attualmente molti PLC supportano tutti questi linguaggi):

Function block diagram  (FBD) o diagrammi a blocchi funzionali.

Instruction list (IL) o lista d’istruzioni (AWL).

Linguaggio C (si usa lo stesso standard impiegato anche nei PC, ma nei PLC e applicato solamente nei suoi fondamentali, per ragioni che vedremo in seguito).

Structured text (ST) o letterale strutturato (o ancora testo strutturato).

Ladder diagram (LD) o KOP, o linguaggio a contatti (è una schematizzazione del linguaggio grafico originariamente utilizzato dai tecnici per progettare iquadri a relè”, del tipo di quello che abbiamo intravisto nella slide precedente ).

 

Lo standard “IEC 1131-3” ha tracciato anche una descrizione di PLC, definendolo un sistema elettronico a funzionamento digitale, destinato all'uso in ambito industriale, che utilizza una memoria programmabile per l'archiviazione interna d’istruzioni orientate all'utilizzatore, per l’implementazione di funzioni specifiche come quelle:

Logiche.

Di sequenziamento.

Di temporizzazione.

Di conteggio.

Di calcolo aritmetico.

Per controllare, mediante ingressi ed uscite (sia digitali, sia analogiche), vari tipi di macchine e processi.

Programmazione del PLC

Fin dalla definizione delle specifiche originali (General Motors del 1968), si è sempre cercato di rendere il PLC un dispositivo facilmente programmabile. Questo ha fortemente condizionato la nascita e lo sviluppo dei linguaggi di programmazione dei PLC. Inizialmente si trattava di realizzare una macchina programmabile, che consentisse di realizzare la logica di controllo in modo analogo a quello utilizzato fino a quel momento. Successivamente il successo dei linguaggi proposti inizialmente, la necessità di garantire la compatibilità con le realizzazioni precedenti e la difficoltà di reperire programmatori qualificati, hanno consigliato di mantenere l'approccio alla programmazione adottato inizialmente, arricchendolo all’occorrenza con opportune alterazioni.

Solo più recentemente s’è avvertita in maniera forte l'esigenza di ricorrere a strumenti più sofisticati per la progettazione software. In considerazione della natura molto specifica dei PLC e delle competenze disponibili da parte degli utilizzatori, non si è fatto ricorso ai linguaggi sviluppati per l'informatica gestionale, ma si sono definiti linguaggi ad alto livello specifici. Nei modelli più sofisticati, basati su mP, è possibile integrare il classico ambiente di programmazione PLC (che è sempre utilizzato per la logica di impianto) con compilatori di linguaggi standard tipo: Fortran, Basic, Pascal o C. Questo accadde soprattutto per quanto riguardo la gestione delle comunicazioni, delle interfacce operatore e per la realizzazione di complessi algoritmi di regolazione o di calcolo.

Linguaggio ladder/kop

Questo linguaggio di programmazione è sicuramente stato tra i primi ad essere introdotto e si può anche dire che sia nato assieme ai PLC, perché presenta una struttura che deriva direttamente da quella definita per i primi controllori programmabili. Il “Ladder/kop” fa uso della simbologia dei relè, ed è sicuramente il “linguaggio base” oggi più utilizzato (potrebbe essere definito l’Assembler del PLC).

 

Un programma in ladder/kop (mostrato nella slide a fianco) viene costruito con una serie di contatti aperti o chiusi, in combinazione logica. Sulla base dello stato logico degli ingressi, ed in funzione della combinazione logica prevista, si determinano le attivazioni delle uscite. Il risultato che si ottiene è simile a quello visto nella prima slide, allorquando vengano eliminati primi tre pioli.

I motivi del successo di questo linguaggio sono da ricercare nella sua perfetta aderenza con la descrizione di una rete mediante logica a relè, caratteristica questa che in passato ha certamente incontrato il gradimento del personale abituato a lavorare con gli armadi a relè.

La logica mostrata nell'esempio riportato sulla slide precedente è la seguente:

Se ‘R0’ ed ‘R1’ sono contemporaneamente uguali ad uno, vengono settate (vengono poste ad uno) entrambe le celle di memoria ‘A4.0’ e ‘A4.1’.

Allo stesso tempo viene settata anche la cella di memoria ‘A4.2’, se ‘R2’ ed ‘R1’ sono rispettivamente pari ad uno e zero.

Ognuno dei simboli logici rappresentati nella slide a fianco, ed utilizzati nel diagramma rappresentato nella slide precedente, equivale ad un bit di memoria. Quando l'elemento corrispondente è attraversa da corrente, il bit in questione è pari ad “1”; mentre quando non c'è passaggio di corrente, lo stato logico del bit va interpretato come uno “0” (e viceversa).

In particolare:

Il simbolo di contatto normalmente aperto rappresenta una condizione “vera” (passaggio di corrente o continuità circuitale) quando l'ingresso è presente o la cella di memoria corrispondente vale ‘1’. Questo simbolo può essere utilizzato per indicare: celle di memoria, ingressi, o uscite.

Il simbolo di contatto normalmente chiuso rappresenta una condizione “vera” (passaggio di corrente o continuità circuitale) quando l'ingresso non è presente o la cella di memoria corrispondente vale ‘0’.

Il simbolo di uscita “setta” la cella di memoria corrispondente (cioè la pone ad ‘1’), se c'è almeno un percorso in cui sussiste la continuità circuitale nel “rung” (piolo) che lo contiene. Quest’istruzione può essere usata per modificare lo stato di una cella di memoria e di una uscita.

Modularità dei PLC

Dal punto di vista esterno un PLC si presenta come un armadietto (del tipo di quello rappresentato nella slide a fianco ), nel quale alloggiano una serie di moduli (o schede), la cui intercambiabilità costituisce una delle caratteristiche fondamentali su cui si sono sviluppati questi dispositivi.

In genere le dimensioni fisiche di questi dispositivi sono direttamente proporzionali alla complessità del controllo e alle potenze in gioco. Un PLC come quello rappresentato nella slide può pilotare qualcosa come ‘1024 – 2048’ ingressi, ed è quindi destinato a controllare un intero impianto di produzione (esattamente come facevano i sistemi a relè, ma con occupazione di spazio decisamente maggiore).

 

A questo punto vediamo i moduli principali  che compongono un PLC:

 

. Bisogna tener conto, infatti, che questo tipo di schede sono realizzate in modo da contenere già tutti i circuiti necessari (amplificatori, filtri, ecc) per consentire l'interazione corretta tra il PLC ed il dispositivo esterno cui sono associate.

Modulo processore. La quantità di memoria necessarie al corretto funzionamento di in un PLC è molto piccola, perché in realtà tutte le istruzioni che devono essere eseguite, lavorano su operandi da un bit (come abbiamo visto dalle slide precedenti, le operazioni seguite da un PLC sono molto semplici: ad esempio: “ risultato = bit AND bit” o “risultato = bit OR bit”).

La limitatezza delle esigenze di memoria consente di racchiudere tutta la parte della gestione intelligente del PLC (CPU centrale e tutti gli strumenti di base necessari a questo scopo), in un modulo estraibile di dimensioni contenute (una sorta di cassetto), come quello mostrato nelle slides a fianco. Sul “frontalino” di questo modulo sono presenti in genere anche:

Un display a led, attraverso il quale viene fornita un'indicazione dello stato in cui si trova l'elaborazione del dispositivo.

Una presa per connessioni seriali, che consente di collegare il PLC ad un computer ( per caricare i programmi, ricevere dati, ecc).

 

Moduli di I/O. Tutte le schede sistemate a fianco al “modulo processore” hanno il compito di realizzare l’interfacciamento tra il PLC ed il mondo esterno; in altre parole, ognuna di loro si occupa della lettura e/o scrittura degli stati, da o verso i dispositivi esterni ad esse associati (si possono trovare schede che lavorano anche con tensioni abbastanza elevate, secondo la natura dei dispositivi controllati ).

Di solito questi moduli contengono anche una fila di led (disegnati in rosso nella slides) sistemati sulla parte superiore del frontale della scheda, ad ognuno dei quali associato un canale di ingresso/uscita in modo da consentire all'operatore di capire, istante per istante, quale dei canali di quella scheda è attivato e quale non lo è. I led sono utili soprattutto per operare una sorta di “debugging visuale”; ad esempio nel caso in cui occorra andare a verificare il corretto funzionamento del modulo processore o del modulo I/O (in questo secondo caso occorre, ovviamente, aiutarsi con un “tester” per verificare l'effettivo stato delle uscite).

 

Scheda d'alimentazione. Svolge lo stesso compito dell'alimentatore del PC

 

Peculiarità che hanno consentito ai PLC di resistere al dilagare dei PC in tutti gli ambiti applicativi

 

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 .

Caratteristiche tipiche delle principali sezioni di un PLC

Architettura

L'architettura classica di un PLC è simile a quella di un computer (vedi slide): c'è una CPU, degli elementi d’ingresso e uscita, ed una memoria.

Per quanto riguarda la memoria, abbiamo:

Una parte a sola lettura, deputata a contenere sia il sistema operativo, sia il programma di controllo da far eseguire al PLC (ad ogni avvio il PLC va a leggere questa memoria per sapere quale programma deve eseguire; in altre parole potremmo dire che questa la memoria sta al PLC, pressappoco come “ROM + hard disk” stanno ad un PC). La parte di memoria deputata a contenere il programma di controllo, può essere fisicamente realizzata con memorie:

ROM; va sostituita ogni volta che si deve modificare il programma.

PROM; può essere facilmente programmata (con l'ausilio di un opportuno programmatore di prom), ma si può fare una sola volta, dopodiché, se si vuole ulteriormente modificare il programma, deve essere sostituita anche lei.

EPROM; sono delle memorie ‘rom’ che è possibile ‘riprogrammare’ per un numero finito di volte (come le ‘eeprom’), consentendo la modifica del programma senza imporre la sostituzione della memoria.

Per i PLC, come per tutti i sistemi basati su microprocessore, non è detto che convenga utilizzare sempre una EPROM, perché queste hanno ovviamente un costo leggermente superiore, non sono adatte a tutte quelle applicazioni in cui occorre produrre, su vasta scala, un PLC standard, con un programma ben definito, che non dovrà essere modificato per tutta la vita del componente. A titolo di esempio, si pensi ai PLC o ai microcontrollori , che progettati per equipaggiare un particolare modello di elettrodomestico: a livello di prototipazione sarà opportuno utilizzare una ‘prom’, mentre per la produzione in vasta scala converrà acquistare delle ‘rom’ già opportunamente programmate dal produttore.

Una parte anche riscrivibile:

RAM; utilizzata per memorizzare le variabili temporanee, necessarie all'elaborazione (nei PLC queste locazioni sono normalmente fisse).

 

Riassumendo: principali differenze tra un PLC ed i più comuni sistemi a microprocessore ad architettura simile, sono:

Nella realizzazione delle parti; il PLC monta un microprocessore in genere più “semplice” di quello di un PC, che utilizza una memoria a sola lettura in luogo dell’hard disk, ed è equipaggiato con una minore quantità di RAM (bastano anche 500 Kb, o comunque memorie dell'ordine di un centesimo di quelle usate dai PC).

Nel parallelismo della struttura interna.

Nel linguaggio utilizzato (“naturale” e sistema operativo); nei PLC si utilizzano linguaggi elementari, di solito simile all’Assembler dei PC.

 

Gestione degli I/O

I PLC sono anche caratterizzati da una particolare gestione d’ingressi ed uscite, che possiamo riassumere nei seguenti punti:

Gestione degli I/O completamente automatica. Il PLC è nato come strumento per l'automazione industriale, quindi tutti quei compiti che normalmente devono essere svolti da un dispositivo di questo genere, sono stati inclusi come “caratteristica naturale”, perciò sia la lettura degli ingressi, sia la scrittura delle uscite, sono state rese completamente automatiche. Questo vuol semplicemente dire che per programmare l'attivazione di un’uscita non si deve far altro che specificarlo attraverso un'opportuna un'istruzione di assegnazione, del tipo: « “locazione di memoria associata all'uscita in questione” = ‘1’ » (in LADDER avrei dovuto aggiungere un ‘piolo’) e questa basta (non ci si deve preoccupare d'altro). Una volta comunicato al PLC l'intenzione di attivare quella determinata uscita, sarà lui stesso ad occuparsi di tutta la gestione necessaria per raggiungere questo scopo, in maniera completamente autonoma ed automatica.

La gestione è affidata al sistema operativo (SO) della macchina. Ogni volta che il PLC si trova di fronte ad un’istruzione di I/O, deve svolgere automaticamente tutta una serie d’operazioni che, ovviamente, devono essere gestite da un SO.

All'inizio d’ogni ciclo d’esecuzione del programma, il SO legge gli ingressi e li carica in una specifica sezione di memoria; in modo da consentire al processore di avere un'immagine del processo in quel momento. In altre parole la gestione degli ingressi avviene attraverso un’acquisizione sincrona del processo. Per riprodurre gli effetti di un’elaborazione parallela, mediante l'utilizzo di un processore sequenziale, il SO del PLC provvede a “fotografare” la situazione degli ingressi all'inizio d’ogni ciclo (fa semplicemente una copia, in memoria, di tutti i segnali che gli arrivano dall'impianto); successivamente calcola, attraverso una esecuzione sequenziale del programma, le uscite corrispondenti e le memorizza (fa una copia in memorie di tutte le uscite calcolate); infine rende disponibili in contemporanea tutte le uscite calcolate. Questo meccanismo serve ad impedire che il PLC elabori le uscite in funzione di ingressi letti in tempi diversi, e quindi relativi a situazioni diverse dell'impianto.

 

Scansione ciclica del programma

Una caratteristica fondamentale per i PLC è quella della scansione ciclica del programma, le cui fasi fondamentali sono riportate nella slide a fianco. I passi principali con cui il sistema operativo gestisce l'esecuzione del programma, si succedono sempre uguali:

Lettura degli ingressi. Avviene per tutti gli ingressi contemporaneamente, prima di iniziare l'esecuzione del programma.

Memorizzazione degli ingressi. Il SO fa una copia di tutti gli ingressi memoria.

Elaborazione. Ha inizio l'esecuzione del programma, sulla base del quale vengono calcolati i valori delle uscite, in funzione degli ingressi memorizzati.

Memorizzazione delle uscite. Man mano che vengono calcolate, anche le uscite vengono memorizzate nella RAM, esattamente come è avvenuto per gli ingressi.

“Scrittura” delle uscite. Non appena l'esecuzione del programma è terminata, e quindi tutte le uscite sono state calcolate e memorizzate, il SO le rende disponibili tutte assieme (prende tutta la memoria dedicata alle uscite, e la in via in blocco alle schede di I/O, ovvero, trasferisce contemporaneamente tutti i dati nelle celle di memoria dedicate all’output).

 

CPU

I primi PLC avevano un set d’istruzioni molto ridotto (AND, OR, NOT, IN, OUT, SET, RESET), al fine di consentire l'esecuzione di un'istruzione in un solo ciclo di clock (negli anni '70 la velocità dei microprocessori era tale da non concedere margini di manovra); infatti, con queste semplici istruzioni è possibile implementare qualsiasi logica combinatoria o sequenziale. Il vantaggio di quest’approccio, era ovviamente quello di ottenere una grande efficienza di esecuzione ed elevate prestazioni. In questo contesto molti PLC utilizzavano CPU ad1 bit , per ottenere migliori prestazioni (in termini di velocità di elaborazione).

In realtà può capitare ancora oggi di trovare PLC che usano microprocessori ad un bit, perché molte delle applicazioni in cui sono impiegati questi dispositivi, non richiedono grosse capacità elaborative (sono più che sufficienti le operazioni booleane di base, con operandi ad un bit), mentre è spesso necessaria una buona velocità di esecuzione.

 

Naturalmente, utilizzare un set d’istruzioni ridotto comporta un'inevitabile mancanza di flessibilità, che va a limitare il campo d’impiego di questi PLC (la ricerca di maggiore flessibilità è stata proprio una delle ragioni che inizialmente hanno portato all'affermazione dei PLC).

La necessità di introdurre nuove macroistruzioni e di aumentare le capacità d’elaborazione, ha determinato l'ingresso delle CPUmulti-bit, anche nel mondo dei PLC.

Le CPU a più bit diventano addirittura indispensabili in tutti i casi in cui c'è la necessità di:

Elaborare operandi non binari (operazioni aritmetiche e di confronto, per variabili non booleane).

Introdurre salti di programma.

Realizzare conteggi (i contatori sono molto diffusi nell'automazione industriale, perché molto utili in un gran numero d’applicazioni ).

Gestire ingressi e/o uscite di tipo puramente analogico, nel caso in cui non sia possibile scomporre il problema in una serie di sottoproblemi digitali (in questi casi non è più sufficiente limitarsi a gestire comandi puramente digitali; del tipo “on – off”).

 

Per quanto riguarda l'ultimo punto, vale la pena osservare che anche nei casi in cui si ha a che fare con un problema apparentemente analogico, a ben guardare è spesso possibile scomporre il problema originario in una serie di sottoproblemi di natura digitale. In molti casi si può aggirare la difficoltà introdotta dalla necessità di gestire un segnale analogico, scomponendolo in una serie di “soglie”, sistemate in modo da individuare gli istanti fondamentali per la gestione del controllo dell'impianto. Ad esempio, possiamo utilizzare un sensore analogico per fare la rilevazione di una temperatura, semplicemente scomponendo l’intervallo di variazione del segnale emesso con una serie di soglie, sistemate in modo da consentirci di rilevare il superamento delle sole temperature significative per la nostra applicazione. In questo modo potremmo continuare ad utilizzare un PLC ad un solo bit, limitandoci a verificare se la temperatura supera o meno le soglie precedentemente impostate (alla CPU arriva solo un’informazione del tipo di tipo “on – off”: “Soglia numero ‘n’ superata”- “Soglia numero ‘n’ non superata”). Ovviamente, in questo caso dovremo assegnare un bit d’ingresso per ognuna delle soglie da controllare.

 

In ogni caso le architetture delle CPU, anche se multi bit, rimangono abbastanza semplici nel complesso (non hanno pipeline o altre cose del genere).

Si evita di utilizzare architetture più complesse, perché per questo tipo d’applicazioni non sono necessarie! Si cerca di fare in modo che la CPU agisca in modo diretto, eseguendo istruzioni molto semplici, e tenendo conto che si andrà ad operare in un contesto in cui difficilmente si avrà necessità di utilizzare salti di programma, mentre molto spesso sarà utile avere un tempo d’esecuzione dell'istruzione quanto più vicino possibile a quello del ciclo di clock.

 

La necessità di aggiungere nuove macroistruzioni, ed il conseguente ingresso delle CPU multi-bit, ha determinato l'inizio dell'era della programmazione strutturata anche per i PLC.

I controllori a logica programmabile più moderni implementano:

L'uso delle “subroutine” (blocco funzionale che realizza una funzione logica e che può essere richiamato ovunque serva nel programma).

L'uso di linguaggi simbolici al posto di quelli assoluti (necessario per la parametrizzazione delle subroutine).

 

Inoltre, l'allargamento del set d’istruzione ha costretto i produttori di PLC ad usare una metodologia multiprocessore , per far fronte alle stringenti necessità di velocità tipiche di talune applicazioni.

 

Sezione d’ingresso/uscita

Nell'interfacciamento di I/O vengono normalmente utilizzati degli standard ben precisi, onde ridurre al minimo la possibilità di conflitto tra il PLC ed i vari elementi ad esso collegati.

Tra gli elementi che concorrono per ottenere un efficace interfacciamento con il processo ricordiamo:

Lo stadio d’isolamento galvanico (è l’elemento più delicato del sistema, ed è per questo motivo che viene spesso realizzato mediante l’utilizzo di “optoisolatori”).

L'utilizzo di contatti a vite (per velocizzare le procedure di istallazione).

L'utilizzo di ‘led’ per la visualizzazione dello stato (allo scopo di velocizzare il debugging visuale del processo).

Interfacciamento con i sensori attraverso tensioni standard (DC: 5, 12, 24, 48 Volt; AC: 110, 280 Volt).

Lo stadio di rettificazione e livellamento per i segnali a tensione alternata (in generale realizzato con il classico ponte a diodi, seguito da un filtro).

Lo stadio finale (realizzato con dispositivi di potenza, quali: triac, relè, transitori, ecc..

 

Una cosa importante da dire sulla sezione “ingresso/uscita”, è che le schede che consentono l'interfacciamento tra il PLC ed i vari dispositivi esterni, sono in genere già disponibili sul mercato , per modificare o ampliare l’insieme dei dispositivi controllati, basta semplicemente procurarsi la scheda adatta e inserirla in uno degli slot dedicati all’I/O. Queste schede realizzano tutte quelle operazioni che è necessario mettere in atto (conversioni “digitale/analogico” e “analogico/digitale”, modulazione e demodulazione, amplificazione, ecc, ecc), per garantire la corretta interazione tra il PLC e la categoria di dispositivi esterni associati.

 

Tra le schede di I/O specializzate, di solito già disponibili sul mercato, possiamo trovare:

Scheda con regolatore PID standard. Normalmente i regolatori PID sono dispositivi autonomi, commercializzati in contenitori separati dai PLC: con un ingresso, un’uscita, ed alimentazione autonoma. Sono inoltre provvisti di tre manopole, mediante le quali è possibile regolare le tre azioni fondamentali (attraverso tutta una serie di prove e metodi), allo scopo di ottenere le migliori regolazioni possibili per ottimizzare il controllo. In talune applicazioni però, è conveniente inserire il regolatore PID all'interno del PLC, in modo da modificare i parametri delle tre azioni fondamentali, secondo le condizioni operative del sistema che si sta controllando.

Scheda per il controllo assi.

Scheda per il conteggio veloce (lettura dell'uscita di un encoder).

Scheda per la lettura ed il controllo della temperatura.

Scheda per la lettura degli estensimetri.

…ecc.

 

Scheda controllo assi

A titolo d’esempio possiamo approfondire un po’ il discorso su una delle schede più utilizzate in automazione industriale: la scheda controllo assi.

All'interno di questa scheda c'è già, opportunamente codificata, il tipo di movimentazione che i motori devono realizzare nel posizionamento del loro carico. Questo vuol dire che il programmatore di PLC non si deve preoccupare di realizzare il controllo dell'accelerazione e/o della velocità, perché sono già definiti nel firmware interno alla scheda.

Attraverso la programmazione del PLC bisogna soltanto comunicare alla scheda (bastano poche istruzioni) quanto segue: “ruota di tot giri” o “vai alla posizione numero tot”; senza preoccuparsi del tipo di motore utilizzato, del tipo di trasmissione, del tipo di carico azionato, ecc. All'interno della scheda quindi, ci deve essere tutto il controllo, l’asservimento, e quanto altro necessario per gestire l'azionamento dei motori, in modo che tutte le specifiche siano rispettate.

L'unica preoccupazione del programmatore è quella di farsi due conti per capire di quanto si muove il carico che vogliamo spostare, in rapporto alla rotazione (espressa in numero di giri) dei motori che lo spingono, in modo da poter assegnare alla posizione finale, cui si desidera arrivare, le rispettive posizioni dei vari motori impegnati nella movimentazione.

E’ molto difficile che capiti di dover realizzare un programma che simuli un controllo assi, perché in genere le schede oggi in commercio contengono già tutto il necessario.

Va detto che conoscere a fondo il funzionamento di una scheda controllo assi è, comunque, molto utile, perché ci consente di scegliere tra le diverse schede proposte dal mercato, in considerazione del fatto che la qualità del controllo imposto va a determinare anche la qualità della lavorazione che è realizzata! In generale risparmiare su una scheda di controllo assi (scegliendo una scheda scadente o addirittura cercando di realizzare il controllo assi per proprio conto) non è detto che voglia dire risparmiare poi sul prodotto finito.

 

Circuiti di isolamento

Nell'ambiente di lavoro in cui operano i PLC, assume particolare importanza il problema dell'isolamento tra i circuiti interni (a bassa potenza) e quelli esterni (ad alta potenza).

 

Per quanto riguarda gli ingressi, siamo interessati ad evitare che eventuali condizioni di sovraccarico possano danneggiare i componenti interni più delicati (come ad esempio la CPU).

Nella slide a fianco è mostrato un circuito d’optoisolamento, tipicamente usato nei PLC per ottenere l'isolamento degli ingressi.

In genere, subito dopo l'ingresso, c'è un ponte raddrizzatore che serve per raddrizzare la tensione nel caso in cui questa sia alternata. Il segnale in uscita al ponte è poi trasmesso per via ottica, ad un transistor che lo riporta verso il PLC. In genere  completano il circuito anche con due diodi led, così da semplificare le operazioni di debugging o di riparazione (ad esempio per verificare se il dispositivo d’isolamento optoelettrico funziona ancora).

Il vantaggio di questo circuito sta nel riuscire a trasferire un segnale dall'ingresso del PLC, alla CPU interna, senza trasmettere tensione (in  isolamento galvanico)! Questo è un grosso vantaggio, perché, in questo modo, si isola la CPU da eventuali sovraccarichi di corrente e/o di tensione, si realizza il migliore isolamento possibile!

Per quanto riguarda le uscite invece, è certamente indispensabile che le relative schede prevedano una protezione contro i corto-circuiti.

Questa protezione può essere ottenuta limitando la corrente d’uscita, o disconnettendo l'uscita stessa; ma in entrambi casi è altresì importante che lo stato di sovraccarico si è evidenziato, ad esempio con un indicatore luminoso. Nella slide a fianco è mostrato un circuito di protezione con flessibile in uno stato d’uscita isolato, che usa un triac come dispositivo d’amplificazione in alternata.

 

Memoria

La memoria di un PLC può essere divisa in diverse aree, in base all’utilizzo che ne fa:

(ROM); è quella destinata alla memorizzazione permanente dei programmi del sistema operativo.

Area di lavoro del sistema operativo (RAM); è quella dedicata alla memorizzazione delle variabili temporanee utilizzate dai programmi del sistema operativo.

Area di I/O (RAM); è quella nella quale sono memorizzati i valori relativi agli ingressi e i valori da assegnare le uscite.

Area programmi utente (RAM - PROM per il programma finale), è quella utilizzata per la memorizzazione del programma da eseguire durante la fase di controllo.

Area dati utente (RAM); è quella destinata alla memorizzazione del valore delle variabili temporanee del programma utente.

Area funzioni di sistema (RAM); è quella utilizzata per l'accesso alle “funzioni di sistema” definite dall'utente (timer, contatori, ecc…).

 

Definizioni, classificazioni e prestazioni

 

Chiudiamo queste note, osservando che un controllore a logica programmabile (PLC) può essere classificato:

 

In base alla sua dinamica; in questo caso possiamo distinguere tra:

Controllore statico: quando è descritto da equazioni di tipo combinatorio (del tipo «‘bit 1’ and ‘bit 2’ accende l'uscita ‘x’») → in questo caso le uscite dipendono, istante per istante, solo dagli ingressi! [in termini analitici possiamo dire di avere un’equazione di tipo algebrico (non differenziale) → ovvero non c'è un tempo coinvolto nelle equazioni, ma abbiamo solo un legame analitico].

Controllore dinamico: quando le regole che descrivono il comportamento del sistema sono di tipo sequenziale, (cioè le uscite dipendono degli ingressi attuali e da quelli precedenti) → per realizzare un controllore dinamico saranno necessari degli elementi di memoria (per memorizzare gli stati degli ingressi precedenti). Un tipico esempio di controllore dinamico è il “rilevatore di cambiamento di stato” (il quale non fa altro che ricavare la funzione ‘XOR’ tra il valore corrente e quello immediatamente precedente, opportunamente memorizzato, di una variabile ‘X(i)’ considerata come ingresso. In termini analitici, in questo caso, diremo che le equazioni sono di tipo differenziale (non algebrico), cioè contengono al loro interno un’informazione di tipo temporale.

 

In base alla tecnica costruttiva; in questo secondo caso distingueremo tra:

Controllore cablato: lo schema di controllo è definito dall'insieme dei dispositivi (relais, porte logiche, ecc) e dalle loro interconnessioni. Questo tipo di realizzazione era frequente soprattutto in passato (ormai non si usano quasi più, tranne forse qualche raro caso d’applicazione molto particolare), ed è basata su una serie di connessioni tra relais (o porte logiche), che fissano il comportamento del PLC (il programma di controllo è realizzato in modo rigido, attraverso le interconnessioni tra le varie porte logiche).

     Sono PLC cablati:

I quadri a relais, nei quali ogni modifica del controllo comporta anche una modifica del cablaggio o un adeguamento dei relais. L'unico vantaggio di queste realizzazioni sta nel fatto che, essendo i relais dei dispositivi di potenza, consentono l'interfacciamento diretto tra controllo ed il campo; d'altro canto però, in quanto dispositivi meccanici, i relais sono anche ingombranti i soggetti ad usura.

Controllori realizzati a porte logiche (AND, OR, NOT, ed elementi di ritardo), i quali a loro volta possono essere realizzati:

in modo rigido, con reti logiche cablate,

in modo flessibile, mediante l'uso d’array programmabili dall'utente.

Programmabile: lo schema di controllo è definito mediante un programma memorizzato in celle di memoria modificabili dall'operatore (mediante terminale a tastiera o PC). questo è in realtà il PLC che abbiamo descritto finora ed è anche il più usato, perché offre la possibilità di avere uno schema flessibile ed aperto a nuove applicazioni.

 

Per quanto riguarda le prestazioni possiamo distinguere i seguenti vantaggi e svantaggi:

 

In un PLC a rete cablata:

Vantaggi: esecuzione intrinsecamente parallela, e quindi, potenzialmente molto veloce.

Svantaggi: sono realizzati con schemi rigidi o semirigidi, costosi da rinnovare e manutenere.

 

In un PLC programmabile:

Svantaggi: esecuzione sequenziale, potenzialmente molto più lenta della precedente .

Vantaggi: schema flessibile ed aperto a nuove applicazioni.

 

Conclusioni

La prima questione che si deve risolvere, quando si affronta il problema della scelta di un PLC, è quella di cercare di capire se, per l'applicazione in oggetto, è più conveniente avere un sistema velocissimo, ma rigido; oppure è possibile accontentarsi di tempi d’esecuzione minori, in cambio di una maggiore flessibilità.

Questa scelta va fatta tenendo conto che un'esecuzione a “tempo discretoè sempre possibile! Purché si faccia attenzione ad utilizzare una frequenza di lavoro che renda il PLC sufficientemente più rapido della dinamica propria del processo da controllare.

Possiamo concludere quindi, che è sempre possibile realizzare un PLC mediante l'utilizzo di un sistema a microprocessore, purché si abbia particolare cura nello scegliere la frequenza di lavoro in funzione:

Della complessità del problema.

Della dinamica del processo da controllare.

 

Esempio d’applicazione

Vediamo un esempio d'applicazione con un sistema da controllare abbastanza semplice.

Supponiamo di avere a che fare con un sistema come quello descritto nella slide a fianco (un serbatoio provvisto di ingresso e uscita, due i sensori di livello, una pompa come attuatore ed un PLC come controllore).

Il problema è di mantenere il livello del liquido contenuto all'interno del serbatoio, entro l'intervallo di valori definito dai due sensori (livello alto e livello basso).

Per controllare questo sistema possiamo agire su una pompa a funzionamento “ON – OFF” (“attiva” o “non attiva”).

Attraverso il controllo vogliamo compensare le perdite di liquido, causate all'apertura della valvola d’uscita del serbatoio; in particolare vogliamo attivare la pompa non appena il liquido scendo al di sotto del “ livello basso” (rilevato dall’apposito sensore) e disattivarla non appena supera il “livello alto”.

 

In generale, per risolvere questo tipo di problemi si usa una metodologia simile a quelle viste nel corso di “reti logiche” (in primo luogo bisogna valutare quali sono gli stati possibili, poi occorre analizzare le transizioni tra i vari stati, ecc, ecc), evitando di saltare direttamente alla scrittura del codice!

D'altro canto però, data la semplicità del problema preso in esame, passeremo direttamente alla definizione del programma da inserire nel PLC, utilizzando il linguaggio ladder\kop.

 

Parlando direttamente in termini di logica da applicare, possiamo scrivere il programma riportato nella slide a fianco.

 

Ovviamente è anche possibile programmare i PLC con l'aiuto del PC; a tale scopo esiste tutta una serie di software opportunamente studiati per facilitare il compito dei programmatori di PLC. A titolo d’esempio possiamo citare “Isagraf”, il quale mette a disposizione un ambiente grafico che consente di realizzare il programma semplicemente trascinando opportuni simboli da una barra strumenti laterale ed assegnando i relativi significati (è possibile anche fare interpretare la logica per verificare se c'è qualche errore, ecc…).

 

Collegare i rami di un circuito elettrico in parallelo rispetto all'alimentazione, significa fare in modo che la corrente li attraversi tutti nello stesso momento, non certo in successione!

Quest’eventualità si verifica tutte le volte in cui si presenta la necessità di utilizzare il risultato di un'operazione logica, all'interno di un'altra. In questo caso, infatti, dovremo inserire una o più bobine d’attivazione, all'interno del piolo preposto all'elaborazione del dato che c’interessa, così da poterle sfruttare per pilotare relè inseriti in altri contesti logici.

Possono essere aperti o chiusi: un condensatore “semplice” indica che ci sarà passaggio di corrente quando il reletivo bit di controllo sarà pari ad uno; viceversa, il condensatore “barrato” indica che ci sarà passaggio di corrente solo quando il bit di controllo sarà pari a zero (nel caso dell'esempio rappresentato nella prima slide si dice che “ il direttore ‘R1’ deve essere considerato negato”).

E’ possibile memorizzare il risultato di un’operazione, lo stato di un ingresso, o quant'altro si voglia; in modo da poterlo riutilizzare all'interno di un'altra operazione, semplicemente facendo in modo che quel valore vada ad eccitare la bobina che pilota i contatti di un relè posto su un altro piolo.

Considerando il livello tecnologico dell'epoca, si può immaginare come, il disporre di strumenti in grado di comunicare tra loro senza intervento dell'uomo, costituiva un grosso passo avanti per l'automazione industriale. Terminata la lavorazione su un determinato prezzo, il PLC addetto al controllo della macchina in oggetto poteva comunicare, in modo completamente automatico, la disponibilità del pezzo, ai PLC addetti.

L'introduzione del PC nella programmazione dei PLC è avvenuta solo dagli anni '80 in poi, perché prima si utilizzava un terminale dedicato, standard per tutti i PLC di una data marca, munito di tastiere e video. Questo sistema, oltre ad essere scomodo, comportava dei costi aggiuntivi per nulla trascurabili.

Il linguaggio “LD” utilizza sostanzialmente la stessa schematizzazione logica rappresentata negli schemi che abbiamo visto nelle slides precedenti (che era poi quella utilizzata dai tecnici per progettare i sistemi a relè), dai quali però viene eliminata la parte relativa alla descrizione elettrica dei relè (cioè la parte relativa ai primi pioli), essendosi resa ormai inutile visto che questo tipo di dispositivi elettromeccanici non sono più presenti.

La simbologia utilizzata questo linguaggio è particolarmente semplice nelle forme, perché fu dettata dalla necessità di avere delle forme compatibili con i limiti grafici imposti dai computer di cui si disponeva all'epoca; infatti, tutti i simboli utilizzati sono ottenuti dalla semplice composizione di caratteri ASCI (trattini verticali od obliqui, parentesi tonde, ecc).

Ovviamente in commercio esistono anche dei PLC più piccoli rispetto a quello mostrato e, di conseguenza, anche meno modulari.

L'armadio di un PLC svolge la stessa funzione del case di un PC.

In altre parole per sostituire o aggiungere un dispositivo all'apparato controllato dal PLC, basta andare ad inserire la scheda corrispondente in uno degli slot liberi dell’armadio, fissarla attraverso le opportune viti (esattamente come si farebbe per aggiungere una periferica al proprio personal computer), realizzare i collegamenti tra scheda e dispositivo esterno, modificare opportunamente il programma eseguito dal PLC, ed il gioco è presto fatto. L'unico passo che può richiedere un certo tempo per esser realizzato, è quello della modifica del programma!

Si ricordi che questo tipo di schede sono già equipaggiate con tutti i circuiti necessari per controllare i dispositivi a cui sono associate (se ad esempio il PLC viene utilizzato per controllare i movimenti di un motore, sarà sufficiente collegare direttamente il motore al PLC, senza interporre alcun amplificatore, né alcun dispositivo elettronico di altro genere). Esistono schede già orientate all'utilizzo di particolari strumenti, come ad esempio le schede per il controllo assi, o quelle per l'interfacciamento con centraline telefoniche (già capaci di comunicare con questo tipo di periferica), ecc, ecc.

Ad esempio, non siamo in grado di garantire il corretto funzionamento di un PC, qualora questo lavori nelle vicinanze di un motore o sia installato su una struttura vibrante, ecc, ecc.

I limiti di cui si parla sono fissati principalmente da due aspetti:

  • L'aumento dell'influenza che le capacità parassite (presenti in ogni transistor) hanno sul corretto funzionamento del circuito, all'aumentare della frequenza di lavoro.
  • I limiti d’applicabilità dell'ipotesi di “costanti concentrate” al circuito in esame (nel momento in cui la lunghezza d'onda del segnale elaborato da un determinato circuito, è paragonabile con la lunghezza fisica dei collegamenti ivi presenti).

Questo tipo di problemi sono ancora più esasperati nelle applicazioni spaziali. I circuiti d’elaborazione presenti sui satelliti utilizzano processori che, pur avendo strutture logiche simili a quelli commercializzati (ad esempio il ‘486’), sono realizzati per lavorare proprio in quell'ambiente, così da evitare che: i problemi di temperatura, o di bombardamento da particelle cariche; vadano a modificare proprio i bit di vitale importanza per il corretto funzionamento del sistema.

Disporre di un linguaggio espressamente progettato per consentire l'esecuzione di procedure in tempo reale, significa avere la possibilità di realizzare programmi il cui ciclo d’esecuzione completo sia inferiore al ciclo di controllo necessario all'impianto controllato (così, ad esempio, la versione per PLC del ‘linguaggio C’ consiste nei soli fondamentali del suo omologo per PC, e certamente non trova alcuna applicazione la versione ‘C++’).

Normalmente l'istruzione per definire qual è la posizione di una informazione nella memoria di un PLC, ha la seguente struttura: [«stringa di caratteri che definisce l'istruzione di puntamento alla memoria (ad esempio la lettera ‘M’)» «numero del byte di memoria in cui si trova l'informazione» . «numero del bit che contiene l'informazione all'interno del byte indicato»].

Sono dei dispositivi digitali integrati che racchiudono, all'interno di un unico ‘CHIP’, tutti i componenti fondamentali di un personal computer (CPU, memoria, interfaccia di ingresso, interfaccia d’uscita, ecc).

In modo equivalente, per leggere un ingresso basta andare a leggere la locazione di memoria corrispondente.

I PLC sono dispositivi a “scansione ciclica” del programma (al termine d’ogni esecuzione tornano all'inizio programma e iniziano di nuovo tutto da capo).

Un microprocessore ad ‘1 bit utilizza solo operatori di tipo “unario” su operandi di ‘1 bit.

Si pensi ad esempio al caso in cui il PLC è utilizzato per controllare le operazioni “impacchettamento” di un certo numero d’oggetti, in questo caso è necessario contare questi oggetti, per lanciare l'allarme nel caso in cui questi oggetti non siano arrivati entro un certo tempo limite, ecc….

In un PLC basato su una metodologia multiprocessore, ogni CPU introdotta è specializzata per la risoluzione di una particolare categoria di problemi; quindi avremo un processore logico, uno aritmetico, un altro per la comunicazione, ecc.

Ovviamente ogni costruttore di PLC è interessato a favorire la più ampia disponibilità di schede compatibili con i suoi modelli e, d’altro canto, ogni costruttore di dispositivi per l’AUTOMAZIONE è interessato a garantirne l’INTEROPERABILITA’ con  la maggior parte dei dispositivi di controllo.

Il sistema operativo si distingue dal programma utente, per i seguenti aspetti:

  • il sistema operativo è il software che si occupa di tutte le operazioni per la gestione della funzionalità di base del PLC: lettura degli ingressi, copia degli ingressi, copia delle uscite, ecc.
  • Il programma utente è il software che contiene le istruzioni specifiche per realizzare le operazioni necessarie per il controllo del processo → va modificato di volta in volta, in funzione delle esigenze.

Per quanto si cerchi di ottenere un comportamento più simile possibile a quello parallelo, un microprocessore è pur sempre un dispositivo sequenziale, in grado di eseguire soltanto un'istruzione alla volta. Questo vuol dire che, per simulare il comportamento “ingresso/uscita” di una rete logica cablata, occorre utilizzare un microprocessore sufficientemente veloce, da essere in grado di compensare i limiti di un'esecuzione seriale attraverso la rapidità d’esecuzione delle singole istruzioni.

 

Fonte: http://xoomer.virgilio.it/tsc/appunti/plc.doc

Sito web da visitare: http://xoomer.virgilio.it/tsc/

Autore del testo: non indicato nel documento di origine

Parola chiave google : PLC funzionamento tipo file : doc

 

 

 

Visita la nostra pagina principale

 

PLC funzionamento

 

Termini d' uso e privacy

 

 

 

PLC funzionamento