Articolo n° 6 su 9 del corso "PLC - Controllori a logica programmabile". Vai all'indice del corso.
Paragrafi dell'articolo:
In questo capitolo si daranno alcuni accenni sul sistema di numerazione
binaria e soprattutto di come è stato utilizzato all'interno dei
PLC.
In particolare si farà riferimento alla norma quadro sulla programmazione
dei PLC, ossia la IEC 1131-3.
Non è possibile infatti proseguire senza avere chiaro in testa il
concetto di rappresentazione dei numeri decimali con un numero binario.
I PLC, tra l'altro, hanno vari modi di rappresentare i numeri al
loro interno, che in fase di programmazione si dovranno scegliere
sulla base delle proprie esigenze.
L'informazione digitale di base è il bit, una cella di memoria che fisicamente è costituita da un transistor e che si considera che possa valere 0 (quando non attivo) o 1 (quando attivo).
| Nota:
La tensione di funzionamento del transistor è ininfluente ai fini della
logica binaria, e non è di interesse per il programmatore. Al fine di erudire i più curiosi diremo che ovviamente quando si dice che il transistor è nello stato logico "0" anche la tensione del transistor sara a zero. Quando invece lo stato logico è "1", la tensione dipenderà dal microprocessore. Tipicamente nei circuiti dell'elettronica digitale di tipo TTL lo stato logico 1 corrisponde alla tensione di alimentazione di 5 Volt. Nei processori dei PC più avanzati, comunque, al fine di diminuire la dissipazione termica dei Chip si sono scelte tensioni molto più basse, persino inferiori ad 1 Volt. |
I bit a loro volta vengono raggruppati in blocchi come dalla seguente
tabella :
| Sigla | Descrizione | Combinazioni possibili | Numero Decimale rappresentato |
| BYTE | Gruppo di 8 bit | 28 = 256 | da 0 a 255 |
| WORD | Gruppo di 16 bit | 216 = 65536 | da 0 a 65535 |
| Double WORD | Gruppo di 32 bit | 232 = 4.294.967.296 | da 0 a 4.294.967.295 |
| Long WORD | Gruppo di 64 bit | 264 = .... | .... |
Questo però non è l'uso consueto che si fa dei dati contenuti all'interno
di un microprocessore, sia che sia di un PC che sia in un PLC.
Alfine di chiarire questo concetto fondamentale, si danno degli
esempi per far capire la differenza che si ha nei dati
tra la rappresentazione binaria e quella reale.
Esempio 1
Nei PLC le Word sono tipicamente organizzate nel seguente modo
| bit 15 | bits 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 |
| segno | valore |
Ne consegue che una word viene a rappresentare un numero decimale
intero nel range :
-32768 ... +32767
Questa variabile, anche se "fisicamente" si tratta di una Word,
tipicamente è chiamata Numero Intero (o Integer
).
Esempio 2
Una DoubleWord è un elemento nella memoria di un microprocessore
costituito da 2 word, cioè 32 bit, e permette 232 combinazioni,
ossia da 0 a 4,29 x 109.
Nei PLC è tipicamente utilizzata per visualizzare un numero a virgola
mobile, detto anche Floating, secondo lo standard americano IEEE-754.
In tal modo si rappresenta un numero nel range :
-3,4028 x 1038 ... +3,4028 x 1038
detto anche Numero Reale (o Real).
Esempio 3
Il Byte molto spesso è utilizzato per rappresentare dei caratteri
alfanumerici.
A tal fine, agli albori dell'era informatica, è stata creata una
tabella dei caratteri ASCII, la quale
esprime l'equivalenza di un byte con una lettera o un simbolo della
tastiera.
Ad esempio se un byte vale 65 significa che rappresenta la lettera
A.
| Byte | 0 1 0 0 0 0 0 1 |
| Significato Decimale | 65 |
| Carattere rappresentato | "A" |
Dato che i microprocessori dei PLC tipicamente funzionano a 16 bit
si tratta sempre di informazioni organizzate come Word.
| Data Type | Descrizione | Range |
| BOOL | un singolo bit del sistema binario | 0 (False) , 1 (True) |
| BYTE | Gruppo binario di 8 bit | da 0 a 255 |
| WORD | Gruppo binario di 16 bit | da 0 a 65535 |
| Double WORD | Gruppo binario di 32 bit | da 0 a 4.294.967.295 |
| Long WORD | Gruppo binario di 64 bit | ...... |
2. Variabili Numeriche
| Data Type | Descrizione | Range |
| SINT | Short integer | -128 ¸ +127 |
| USINT | Unsigned Short integer | 0 ¸ 255 |
| INT | Integer | -32768 ¸ +32767 |
| UINT | Unsigned Integer | 0 ¸ 65535 |
| DINT | Double Integer | -231 ¸ +231 (-1) |
| UDINT | Unsigned Double Integer | 0 ¸ 232 (-1) |
| LINT | Long Integer | -263 ¸ +263 (-1) |
| ULINT | Unsigned Long Integer | 0 ¸ 264 (-1) |
| REAL | Floating Point Number | -10-38 ¸ +1038 |
| LREAL | Long real Number | -10-308 ¸ +10308 |
3. Altri tipi di Variabili
| Data Type | Descrizione | Range |
| DATE | Data del calendario | |
| DATE_AND_TIME | Data e Ora | |
| TIME | Time (giorno e ora) | |
| TIME_OF_DAY | Ora del giorno o anche
detta Real Clock Time |
|
| STRING | gruppo di caratteri (testo) | |
| R_EDGE | Fronte di Salita (rising) | 0 (False) , 1 (True) |
| F_EDGE | Fronte di discesa (falling) | idem |
Questa panoramica è stata fatta per far vedere come esista una grande
varietà di dati che i PLC possono gestire.
In seguito comunque si useranno quelli più siginificativi, a partire
dal quelli necessari per realizzare i programmi di controllo di
circuiti elettrici.
Ti è piaciuto questo articolo? Allora iscriviti al nostro feed! Grazie ai feed potrai leggere le novità di ElectroPortal con il tuo lettore di feed rss preferito o per Email. Cosa sono i feed?
di antoregno, 3 anni fa
personalmente mi perdo nelle variabili, per il resto...... ;) grazie
di cartntBresso, 3 anni fa
Il tuo è un ottimo lavoro, fatto con la passione di chi ama il proprio campo di lavoro o studio; proprio per questo ti chiedo se puoi approfondire il discorso dei numeri binari, basi ed esponenti, le sequenze e le conversioni con gli altri sistemi, giusto una rinfrescatina per chi come me è da anni che non tratta più i libri d testo, ma che si trova a dover fare i conti con aggiornamenti per lavoro "fai da te". Grazie mille!!
lcendron
2 mesi fa
pasqui73
2 mesi fa
alcom76
4 mesi fa
wayout83
4 mesi fa
paghy
5 mesi fa
thestonianodoc
1 anno fa
YOKA
1 anno fa
tachnet
1 anno fa
rossoniva21
1 anno fa
Copyright© 2001-2010 Ing. Zeno Martini & dr. Nicolò Martini p.IVA.01309470290. Tutti i diritti riservati.