conversion Hex a Real (no decimal)
Publicado por Miguel Torres (1 intervención) el 06/09/2011 19:43:12
Pues la cuestion es que usaba un producto de la casa circutor que se lee en Modbus y los datos los lanza en hex y hay que convertirlos a Decimal osease que para ellos 00 00 00 D4 representan 212 (voltios) y ahora quiero cambiar por Siemens Sentron y ellos lo envian tambien por Modbus y tambien en hex pero hay que convertirlos en numero real con mantisa?????? y la verdad no se como hacelo,,,,,,, para ellos 43 68 70 22 es 232,438 (voltios)
os pongo el trozo de conversion a Decimal para haber si alguien sabe hacerlo y convertir lo que entra que es hexa en Real,,,, yo en programación de automatas me sale facil,,,, pero en VB.NET pues no.........
'cada caràcter són 2 xifres hexa. Cada 8 xifres hexa un valor decimal
cadena = cadena & cadena2
While (i <= Len(cadena))
numd = ""
For j = 1 To 4
Car = Asc(Mid$(cadena, i, 1))
numh = Hex(Car)
If Len(numh) = 1 Then
numh = "0" & numh
End If
numd = numd & numh
i = i + 1
Next j
numdec = Val("&H" & numd) 'nombre decimal
If numdec < 0 And Mid$(numd, 1, 1) <> "F" Then
numdec = bin_hex(numd)
End If
os pongo el trozo de conversion a Decimal para haber si alguien sabe hacerlo y convertir lo que entra que es hexa en Real,,,, yo en programación de automatas me sale facil,,,, pero en VB.NET pues no.........
'cada caràcter són 2 xifres hexa. Cada 8 xifres hexa un valor decimal
cadena = cadena & cadena2
While (i <= Len(cadena))
numd = ""
For j = 1 To 4
Car = Asc(Mid$(cadena, i, 1))
numh = Hex(Car)
If Len(numh) = 1 Then
numh = "0" & numh
End If
numd = numd & numh
i = i + 1
Next j
numdec = Val("&H" & numd) 'nombre decimal
If numdec < 0 And Mid$(numd, 1, 1) <> "F" Then
numdec = bin_hex(numd)
End If
Valora esta pregunta


0