Conversione di tipi a 32 bit in byte.

I blocchi (Figura 1) vengono utilizzati per scomporre un numero a 32 bit (Long, Float, Unsigned long) in quattro byte (Figura 1a) e combinarli (Figura 1b).

                                                                                                  Figura 1 

I blocchi non hanno parametri.

Come funzionano i blocchi.

Useremo lo stesso metodo di calcolo degli esempi precedenti. Determiniamo la rappresentazione binaria del numero 32000000. Calcoliamo il quoziente e il resto della divisione tra 32000000 e 2 e continuiamo a dividere i vari quozienti per 2 fino ad ottenere il quoziente 0. Se c'è un resto della divisione, il resto è 1, se non c'è resto, il resto è 0:
  1. 32000000/2=16000000  resto 0
  2. 16000000/2=8000000    resto 0
  3. 8000000/2=4000000      resto 0
  4. 4000000/2=2000000      resto 0
  5. 2000000/2=1000000      resto 0
  6. 1000000/2=500000        resto 0
  7. 500000/2=250000          resto 0
  8. 250000/2=125000          resto 0
  9. 125000/2=62500            resto 0
  10. 62500/2=31250              resto 0
  11. 31250/2=15625              resto 0
  12. 15625/2=7812(7812,5) resto 1
  13. 7812/2=3906                  resto 0
  14. 3906/2=1953                  resto 0
  15. 1953/2=976(976,5)       resto 1
  16. 976/2=488                      resto 0
  17. 488/2=244                      resto 0
  18. 244/2=122                      resto 0
  19. 122/2=61                        resto 0
  20. 61/2=30(30,5)                resto 1
  21. 30/2=15                          resto 0
  22. 15/2=7(7,5)                    resto 1
  23. 7/2=3(3,75)                    resto 1
  24. 3/2=1(1,5)                      resto 1
  25. 1/2=0(0,5)                      resto 1
Scriviamo i resti nell'ordine inverso a come li abbiamo ottenuti:
3200000010 = 11110100001001000000000002
Qui vediamo che abbiamo ottenuto un valore con 32 bit (mettendo 7 bit mancanti nello stato 0 davanti), il che significa che abbiamo un valore di quattro byte (Figura 2).

                                                                                                  Figura 2 

Pertanto, l'output del blocco "Byte - 0" indicherà il valore del Byte 0, pari a 0 nel sistema decimale (Figura 3).

                                                                                                  Figura 3 

L'output del blocco "Byte - 1" indicherà il valore del Byte 1, pari a 72 nel sistema decimale (Figura 4).

                                                                                                  Figura 4 

L'output del blocco "Byte - 2" indicherà il valore del Byte 2, pari a 232 nel sistema decimale (Figura 5). 

L'output del blocco "Byte - 3" indicherà il valore del Byte 3, pari a 1 nel sistema decimale (Figura 6).

Per combinare i Bytes useremo il blocco "Bytes->Doubleword". Se al input del blocco "Byte - 0" indichiamo il valore del Byte 0, pari a 0 nel sistema decimale, al input del blocco "Byte - 1" indichiamo il valore del Byte 1, pari a 72 nel sistema decimale, al input del blocco "Byte - 2" indichiamo il valore del Byte 2, pari a 232 nel sistema decimale e al input del blocco "Byte - 3" indichiamo il valore del Byte 3, pari a 1 nel sistema decimale. In output avremo la combinazione di quattro byte, pari a 32000000 nel sistema decimale.

A cosa serve la conversione in byte?

Ad esempio, il trasferimento di un numero Int o Long a modbass, 16 bit o 32 bit è più veloce del trasferimento di singoli bit e carica meno il controller.

File FLProg.

Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia