7.1 Introduzione
Come già accennato il PLC è un piccolo computer, del quale eredità le caratteristiche principali.
E quindi è dotato di un microprocessore, una memoria interna, un "sistema operativo", e di dispositivi di Input / Output.
Tipicamente i microprocessori dei PLC sono a 16 bit, e questo si
riflette sulla struttura dei dati interna, come si potrà vedere
in seguito.
Il set di istruzioni a disposizione di questi micoprocessori è
generalmente molto vasto e potente, consentendo moltissime funzioni
rispetto a quelle basilari usate per il controllo di un impianto
elettrico.
7.2 Tipi di Processori
In linea generale tra i PLC si possono individuare due grandi famiglie :
- a) i PLC dotati di microprocessori multipurpose, e quindi liberamente reperibili sul mercato, non espressamente progettati per questa funzionalità;
- b) i PLC dotati di microprocessori custom, ossia progettati espressamente per essere integrati in un PLC e quindi per la gestione di un sistema elettrico di automazione.
La
differenza tra i due mondi, in realtà è molto sottile, e
tipicamente agli effetti pratici nel funzionamento non sortisce alcun
effetto.
La prima soluzione comporta tipicamente un costo minore.
Nel secondo caso a fronte di un costo maggiore si hanno vantaggi
notevoli in fase di programmazione, con istruzioni ottimizzate che
fanno risparmiare tempo al programmatore e risorse di memoria nel PLC.
Questa seconda opzione è tipicamente seguita solo dalle grandi
case produttrici, che possono permettersi di impiegare risorse per
progettare un microprocessore adatto alle esigenze della loro clientela.
7.3 Set di Istruzioni
Come già accennato i microprocessori dei PLC sono dotati di un ampio Set di istruzioni.
A prescindere dal fatto che tra marche diverse si trovano istruzioni
diverse, si è cercato di fare un elenco che riproponesse le
istruzioni in modo generalizzato al fine di fare una prima distinzione
esemplificativa.
Diciamo che il nostro PLC Dummy è dotato del seguente set di
istruzioni, suddiviso per gruppi, in modo da separare le istruzioni per
funzionali omogenee o per categorie.
All'interno di ogni gruppo, poi, si trovano altre sotto categorie.
| Gruppo | Tipi di istruzioni |
| A | Istruzioni BASE per il controllo di circuiti elettrici
|
| B | Istruzioni per la Gestione del Programma
|
| C | Istruzioni per la Manipolazione di Dati
|
| D | Istruzioni per la Manipolazione di Dati Numerici
|
| E | Istruzioni per la Manipolazione di Dati Alfanumerici (stringhe) |
| F | Istruzioni per la gestione delle comunicazioni |
| G | Istruzioni per il controllo di variabili nei processi (PID) |
Tipicamente le istruzioni del gruppo "A" sono sempre utilizzate, mentre
per le istruzioni degli altri gruppi dipende dalla complessità
dell'applicazione.
7.4 La memoria del PLC
7.4.1 Memoria Statica
Nei PLC di prima concezione la memoria era di tipo Statico, quindi
all'utente erano assegnate delle aree "preconfezionate" con
quantitativi fissi di dati memorizzabili all'interno, e che non
potevano essere cambiati in alcun modo.
La memoria era rigidamente divisa tra dati e programmi ed anche tra tipi diversi di dati.
Un sistema di questo tipo non permette di personalizzare la memoria a
seconda dell'applicazione, e soprattutto accadeva spesso che molte aree
dati restavano inutilizzate a scapito di altre aree che avevano la
necessità di ampliamento.
Anche il programma, sebbene potesse venir suddiviso in subroutine, in
realtà appariva come un unica sequenza di istruzioni, creando
non poca confusione.
Per fare un paragone con l'ambiente PC, è un po' come se nel
nostro PC tutti i documenti Word fossero concentrati in un unico file.
Un sistema del genere, anche se non influisce nel funzionamento del
PLC, non permette una gestione efficiente e chiara dell'intero progetto.
Questo sistema è ancora ampiamente usato per piccoli PLC con
applicazioni semplici e pochi ingressi e uscite da gestire, dove la
gestione della memoria in un modo piuttosto che in un altro non
influisce nel risultato.
Tipicamente si tratta di PLC monoblocco e/o non espandibili.
7.4.2 Memoria Dinamica
Nei PLC più moderni la memoria interna è di tipo Dinamico, e può essere considerata come un Hard Disk di un Personal Computer, con file di dati e file di programmi.
In fase di caricamento del software applicativo il PLC alloca
dinamicamente la memoria a seconda delle risorse che sono richieste.
A parte certe aree di sistema, ed alcune aree preconfezionate al fine
di facilitare la programmazione ai meno esperti, la memoria per il
resto è liberamente configurabile.
Si possono decidere nuove aree dati, anche dello stesso tipo, ma usate da sottoprogrammi diversi ed in fasi diverse.
Ogni area dati può avere un nome, denominato Nome File, e
tipicamente ogni area al suo interno può avere fino a 256
elementi.
Per i programmi valgono le stesse considerazioni, anche se non vi sono
limiti al numero di istruzioni inseribili in ogni programma se non
quelle dovute alla dimensione massima della memoria.
Tipicamente si possono creare fino a 256 sottoprogrammi.
Nota : consideriamo quindi che il nostro PLC "Dummy" sia dotato di memoria Dinamica.
7.5 Organizzazione interna dei Dati
I dati memorizzabili nei PLC possono essere di vario tipo, ma in
realtà al loro interno si tratta sempre di informazioni Binarie.
Tale caratteristica è comunque invisibile al programmatore, che vede solo i dati nel formato da lui prescelto.
7.5.1 File di Input / Output
Dato che il PLC è un dispositivo che dialoga con l'esterno, vi
saranno anche due file appositamente destinati a tale attività,
relativa ai moduli di Ingresso e Uscita.
I dati di ingesso ed uscita sono infatti acquisiti dal microprocessore
in momenti distinti dall'esecuzione del programma e conservati in
questi due file detti anche File di Immagine degli Ingressi e File di Immagine delle Uscite.
| nr. File | Sigla File | Tipo di Dati | Composizone |
| 0 | O | Uscite | 1 bit per ogni segnale digitale
1 word per ogni segnale analogico |
| 1 | I | ingressi | (idem) |
7.5.2 File di Sistema
In quest'area di memoria, di tipo statico e non facente parte delle
aree programmabili, vi sono memorizzate la configurazione del PLC ed
altri parametri necessari per il suo funzionamento.
| nr. File | Sigla File | Tipo di Dati | Composizone |
| 2 | S | Registro di Sistema | Dati di configurazione del PLC |
La
conoscenza di quest'area di memoria al programmatore è
indispensabile in quanto in essa si trovano i bit di errore, le
configurazione delle porte seriali e di programmazione, i bit di
allarme e di overflow nei calcoli matematici.
Come già per altri casi si rimanda alla specifica documentazione del PLC.
7.5.3 File di Dati Interni
All'interno di ogni PLC vi sono dei file dati molto utili nella
programmazione e che svolgono funzioni virtuali dei componenti usati
nell'elettrotecnica, quali Temporizzatori, Contaimpulsi e
Relé.
Naturalmente questi elementi cambiano a seconda del PLC utilizzato, ma
sono quasi tutti presenti in tutti i modelli, anche se con nomi diversi.
Ipotizziamo quindi che il nostro PLC Dummy sia dotato dei seguenti File Dati :
| nr. File | Sigla File | Tipo di Dati | Composizone |
| 3 | B | Bit * (oppure Bool) | 1 File con 256 word = 4096 bit |
| 4 | T | Timer (temporizzatori) | 1 File = 256 timer |
| 5 | C | Counter (Contatrori) | 1 File = 256 Counter |
| 7 | N | Numeri Interi (anche Integer) | 1 File con 256 word = 256 dati N |
| 8 | F | Floating - numero in virgola mobile (o anche Real) | 1 File con 256 dati F |
| 9 | ST | Stringhe ASCII (String) | 1 File = 256 Stringhe di n caratteri |
* Nota : i BIT sono tipicamente chiamati relé Interni.
File Speciali
Per alcune attività sono necessari dei file di dati strutturati
in modo particolare, come ad esempio i file per gestire le
comunicazioni o per la manipolazione di stringhe ASCII.
Dato che tali formati variano a seconda della marca, in fase di
programmazione sara necessario approfondire se le istruzioni utilizzate
fanno ricorso a file speciali.
7.6 Il PLC in configurazione DEFAULT
Come già accennato, anche nei PLC con memoria di tipo Dinamico si possono trovare delle aree di memoria preconfigurate.
Ciò è molto utile agli utenti meno esperti, e comuque
tali aree sono quelle maggiormente usate per la stesura dei programmi.
Anche per la programmazione vi è un file già pronto, denominato o Main Program.
I restanti programmi sono configurabili liberamente in base alle proprie esigenza.
7.7 Indirizzamento
Una delle questioni di fondamentale importanza quando si approccia ad
un PLC, anche per gli esperti programmatori, è quella che
bisogna conoscere il modo di idirizzamento.
Con questo termine si intende la sintassi con la quale accedere ai dati durante la programmazione.
Il primo aspetto dell'indirizzamento da apprendere è quello degli Ingressi e delle Uscite.
Per fare un esempio utilizziamo il nostro PLC Dummy già preparato in precedenza :
| 0 | 1 | 2 | 3 | 4 | 5 | 6 |
|
CPU |
16 in
Digitali |
8 in
Digitali |
16 Out
Digitali |
8 Out
Digitali |
8 In
Analog. |
4 Out
Analog. |
Segnali Digitali
Per i segnali di tipo digitale si trova la seguente sintassi :
- I:1/3 segnale di ingresso 3 (bit) nel modulo 1
- I:2.0 word di ingresso di tutti i bit del modulo 2
- O:3/12 segnale di uscita 12 del modulo 3
- O:4.0 word di uscita di tutti i bit del modulo 4
Segnali Analogici
I segnali analogici, che praticamente sono delle word, la sintassi potrebbe essere:
- I:5.0 word dell'ingresso Analogico 0 nel modulo 5
- I:5.7 word dell'ingresso Analogico 7 nel modulo 5
- O:6.1 word dell'uscita Analogica 1 del Modulo 6
Nota :
L'indirizzamento usato dalla norma IEC ha una sintassi similare a
quella esposta, ma più complessa (ad esempio I:1/3 diventa
I%1.0.0.3), e poco usata nei PLC.
L'indirizzamento vale per tutti i file di dati (Ingressi, Uscite, e per i file interni elencati nei paragrafi precedenti); Ad esempio :
- T4:1 Timer 1 del File di temporizzatori nr. 4
- C5:3 Counter 3 del File di contatori (contaimpulsi) nr. 5
- N7:9 Numero intero posto nella Word 9 del file di interi 7