Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/02/2012, 15:11
Avatar de blakmetall
blakmetall
 
Fecha de Ingreso: diciembre-2010
Ubicación: Jalisco
Mensajes: 181
Antigüedad: 13 años, 4 meses
Puntos: 18
No lee datos de bascula puerto COM

Hola que tal amigos programadores y buscadores de desafios o con conocimento para compartir.
Tengo una problema que llevo acarreando de un par de dias,
ya intente muchas cosas pero nada me funciona al 100.

Tengo una bascula Torrey EQ - 10 / 20.
La bascula tiene salida para puerto serie macho, asi que tengo un adaptador hembra-hembra y un cable macho - usb para poder realizar la conexion a la pc.

instale los drivers que venian en caja del cable macho - usb y todo quedo bien por esa parte, este es el nombre que sale en los dispositivos conectados Prolific USB-to-Serial Comm Port (COM7).

Primero intente lo facil abri el puerto con el fopen.

--- intento 1 ---

checar si podia abrir el puerto si problema
Código PHP:
$handler fopen("COM7:","r+"); 
y con esto no me daba error.

Lo siguiente que hice fue intentar leer datos de la bascula, le puse algo encima y puse el siguiente codigo.
Código PHP:
$handler fopen("COM7:","r+");
    if(
$handler){
        echo 
fread($handler,1000);
        echo 
"abierto";
    }
    else
        echo 
"no abierto"
En este punto al ejecutar lo anterior veo que la bascula parpadea, o sea que recibio la solicitud de datos, pero al ejecutarse la linea fread()
el script sigue ejecutandose y nunca me recibe los datos, en ocaciones la bascula se queda parpadeando.

(probado con wamp, xxamp en windows 7 64 bits)

--- intento 2 ---

Me meti a la pagina esa de byteworks para descargarme el codigo que tienen para la comunicacion con el puerto serial,etc y dije a chido con esto la armo.

realice todas las configuraciones, meti el archivo php_ser++.dll en la carpeta ext de php, reinicie todo y al parecer me funciono al abrir el puerto tambien.

Ahora ejecute este codigo segun las instrucciones de esa libreria.

Código PHP:
$functions get_extension_funcs($module);
ser_open("COM7"96008"None"1"None");
$str ser_read();
echo 
$str;

//tambien agregue esta linea y esta siempre me tria 119 no importando cuanto peso le pusiera a la bascula
echo ser_readbyte( ); 
Y yo entusiasmado dije, con este ya la hice, pero cual fue mi sorpresa que la linea
ser_read() no me trajo datos, nada

--- ahi termino mi intento numero 2 ---

--- El intento 3 y 4, fue probar los primeros 2 en
win xp 32 bit ---

--- el ultimo intento ---
Me descarge el programa scale.exe (que solo podia ejecutarse en win xp) y lo
ejecute esperando que en ese al menos recibiera los datos y los mostrara en pantalla en su propio programa claro, sin meterle codigo y nada.
Seleccione el puerto bien y todo pero no me aparecia nada en la pantalla del programa

mas que las opciones de "configurar"
el cuadro negro donde supongo deberia salir el peso de la bascula
y tres radio buttons: enviar, recibir, espera.
de los cuales solo los de recibir y espera se cambiaban entre si.

-----

Esta es toda la informacion que tengo, si alguien pudiese tener la amabilidad y claro si ha configurado este tipo de bascula o similares me podria orienta acerca de como hacerlo bien.

Tambien tengo la duda de que si la bascula sirve para enviar datos del pesos a la pc, por que al parecer estuvo arrumbada cierto tiempo y no la usaban.

Gracias por todos los que se tomaron la molestia de leer hasta el final.
Pero para no dar informacion incompleta, mejor decirles todo lo que hice para no
generar mas dudas.

Gracias.
__________________
To the end....