Pregunta: | 1205 - COMUNICACION DE PC A BÁSCULA ELECTRÓNICA |
Autor: | Humberto C |
Estoy desarrollando un sistema de pesaje de cargas y control de inventarios. El problema que tengo es que no puedo recuperar los datos, mostrados en la bascula electronica ,en forma automatica hacia mi computadora. Ya he intentado las funciones de bajo nivel, inclusive el control mscom sin obtener los resultados esperados. La bascula se conceta al COM1 y el sistema está desarrolado en Visual Foxpro 5. Cualquier ayuda se las agradecere |
Respuesta: | Manuel Jesus Duran Chusan |
Amigo si sabes usar el mscomm y no te captura datos de la bascula comunicate con el tecnico de la bascula para ver si es problema de la bascula, a mi me ocurrio lo mismo y era ese problema, o el cable de comunicacion esta mal hecho |
Respuesta: | vikingo II |
hola yo trabajo en un almacen y para lograr la comunicacion e usado un control o libreria de windows llamado Mscomm32.ocx con el cual puedes crear un objeto que te permite la comunicacion serial con los comm disponible, si tienes el manual de la bascula puedes enviar datos y que te responda pero sino, considera a la computador a la computadora como un impresora y lees los datos del puerto, tambien es importante el cable serial que uses. Si es que deseas el fuente en visualfoxpro escribeme al email y dame tu email chao Vikingo II |
Respuesta: | eye |
Holasssamigos: Querido amigo: La forma más sencilla (para mi) de poder comunicarte por los puertos paralelos o en serie de tu computadora es utilizar una libreria llamada INPOUT32.DLL, lo puedes bajar tranquilamente de Internet. Ahora la pregunta es ¿Como utilizar está libreria dll? Fijate en el siguiente código: DECLARE INTEGER Inp IN inpout32 INTEGER puerto DECLARE INTEGER Out IN inpout32 local salir,puerto puerto = 889 && es la direccion en memoria del Puerto Paralelo salir = 65 && es un caracter do while salir#27 ?inp(puerto) salir = inkey() enddo Ahora, para el puerto en serie no estoy muy seguro de la direccion en memoria (3F8 hex. ????) , pero eso lo puedes averiguar en la Setup de tu máquina. Cualquier cosa hacemelo saber. |
Respuesta: | Luis Martínez |
En caso que no hayas probado esto: Hay que tener en cuenta que el puerto lo debes abrir de solo lectura y sin buffer. Visual Foxpro no reconocerá COM1 como un puerto de comunicación si no como un archivo en disco si lo intentas abrir de esta forma: FOPEN("COM1",10)por lo que te aparecerá el error "1103 - Desplazamiento de búsqueda no valido" o FOPEN() devolverá un valor negativo, por lo tanto debes agregar la extensión .DOS al nombre del puerto: FOPEN("COM1.DOS",10) CODIGO: Local nFileHandle, nSize, cPeso nFileHandle = FOPEN("COM1.DOS",10) * Llevar el puntero a EOF para determinar el número de bytes escritos en el puerto nSize = FSEEK(nFileHandle, 0, 2) IF nSize > 0 && Hay datos en el puerto *Mover el puntero a BOF =FSEEK(nFileHandle, 0, 0) *Leer los datos del puerto cPeso = FREAD(nFileHandle, nSize) ENDIF Cierra el archivo = FCLOSE(nFileHandle) Nota: He utilizado este código solo para escribir en un puerto de comunicación y me ha funcionado. Escribeme un mail con más detalles haber si te puedo ayudar o para saber si funciona. |