Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

12
voti

PLC: Numeri binari e variabili

Articolo n° 6 su 9 del corso "PLC - Controllori a logica programmabile". Vai all'indice del corso.

Paragrafi dell'articolo:

  1. Introduzione
  2. Bit, Byte e Word
  3. I tipi di dati standardizzati

6.1 Introduzione
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.


6.2 Bit, Byte e Word
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.


6.3 I tipi di dati standardizzati
Nella norma IEC 1131-3 si trovano oltre 20 tipi di tipologie di dati che possono essere gestite da un PLC, soprattutto per abbracciare un po' tutte le variabili usate dai vari produttori.
Possiamo grossomodo dividere le tipologie dei dati nelle seguenti tre categorie

1. Variabili Binarie

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.

2

Commenti e note

Inserisci un commento

di antoregno,

personalmente mi perdo nelle variabili, per il resto...... ;) grazie

Rispondi

di cartntBresso,

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!!

Rispondi

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.