04/10/2010, 13:55
|
(Desactivado) | | Fecha de Ingreso: enero-2008 Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 10 meses Puntos: 2 | |
Respuesta: Convertir Numeros a Caracteres ASCII Muchisimas gracias por el aprote a todos, voy a tratar de explicar un poco por que todo este lio con los ascii, como flotantes y demas...
Anterior mente copie las siguientes lineas que leo desde un archivo que es escrito por un PLC, utilizo el programa Step 7 para leer los valores en formato "humano".
y por ejemplo...
niveles.log:
C±Ij L/segMontecs QC*t/ L/segSet Point QBH% Norte QDŒ^õ L/seg Sur QDá1< L/seg Saavedra Qmts Sarramea Qmts Error CONTACTOR 1 Error CONTACTOR 2 Corrig. MontecaserosCorrig. Alto Verde Corrigiendo caudal, Error MAX IZQUIERDA Error MAX DERECHA Modo MANUAL Error excede los li_mites. Pase a MANUALPor Favor espere... Proximo error a cor_regir= Q@Ú§`
Si vemos todo este codigo, vemos por ejemplo el primer valor a interpretar en ASCII.. "C±Ij" esto en comafloatente redondeado es algo asi como 355..
Bien ahora ese numero 355 que podemos interpretar es el nivel que tiene un canal...
Bien asi de simple... ahora como puse antes, el valor ascii mencionado anteriormente primero lo convierto a Hexadecimal y luego lo convierto a comaflotante asi obtengo el numero que deseo...
Pero el tema esta en hacer la inversa, tomar el valor decimal, comvertirlo a coma flotante luego a hexadecimal y luego a ascii para guardarlos en un archivo que el PLC lea...
Puse lo de que 5.6051938572993E-44 era igual a 40, por que fue la prueba que hice con la funcion que abimaelrc me sugirio... entonces si esto es incorrecto la funcion esta mal o no hace lo que deberia hacer....
Aca es en donde estoy perdido.. y lo admito, las matemáticas me cuestan, aunque me encantan... gracias por la ayuda |