Vai al contenuto
PLC Forum


Convertire in numero una serie di byte hex


marcob1984

Messaggi consigliati

Buongiorno a tutti,

sono nuovo sulla sezione "linguaggi di programmazione" perchè sono nuovo anche nel mondo c# e VB (ho pochissime nozioni, ho sempre programmato plc). Oggi mi ritrovo con la necessità di leggere e scrivere dei dati da un database di un plc siemens S7-300 con VB.Net (Visual studio 2015 - Visual basic). 

Domanda: se ho una serie di 4 byte in HEX, come faccio ad unirli e a convertirli nel numero reale corrispondente?

Esempio: byte 0 = 00; byte 1 = 80; byte 2 = 1D; byte 3 = 44, corrisponde a 630.0 (6.300000e+002)

Grazie

Modificato: da marcob1984
Link al commento
Condividi su altri siti


Grazie Lucios per la tua risposta. Proverò la tua soluzione e ti farò sapere.

Per GiRock e dott.cicala: vi illustro la situazione che mi ritrovo nel database del PLC: ho dichiarato un numero di tipo REAL e gli ho assegnato un valore correspondente a 630.0 (6,300000e+002). La memoria di questo "REAL" occupa 4 byte. Se visualizzo i 4 byte splittati su una VAT (tabella delle variabili) leggo i valori in HEX postati sopra. Se aprite un qualsiasi sito (es: http://gregstoll.dyndns.org/~gregstoll/floattohex/ o http://www.h-schmidt.net/FloatConverter/IEEE754.html )in cui potete fare la conversione da HEX a Float, scoprirete che inserendo il valore "441D8000" vi darà come risultato 630.0.

Modificato: da marcob1984
Link al commento
Condividi su altri siti

Grazie Lucios, è proprio la "classe" che mi serviva, provato e funziona.

GiRock, la tua conversione è semplicemente da HEX a DEC. Nella mia domanda iniziale avevo chiaramente scritto "convertirli in reale", che equivale a dire floating point. Forse non ero stato chiaro, correggimi se sbaglio

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...