Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-03-2008
pai_delpher pai_delpher is offline
Miembro
 
Registrado: mar 2008
Posts: 11
Poder: 0
pai_delpher Va por buen camino
Manejo de Puerto Serie/Serial/COM/DB9

Hola amigos, necesito sus conocimientos para poder realizar una aplicación que maneje puerto COM.

Ya leí varios post sobre este mismo tema, el problema es que no logro leer los datos que necesito del puerto (aclaro que quiero leer datos de un equipo autoanalizador de laboratorios - un equipo que toma muestras sanguíneas y realiza exámenes).
El problema es que creo que necesito activar el ACK/NACK del puerto COM1.


Ya probé con los componentes que recomiendan y con otros que encontre yo, si pudieran mandarme un ejemplo de como leer y escribir el puerto y como activar el ACK/NACK (Acknowledge), me sería de gran utilidad.

MUCHAS GRACIAS.

PD: Me conformo con algún tip para poder hacer la aplicación... ha... trabajo con Delphi 7 y tengo los componentes: APRO (adpcomport), CPortLib (ComPort) y el del Grupo Albor (PuertoSerie).
Responder Con Cita
  #2  
Antiguo 26-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola, bienvenido al club, te invito a leer nuestra guia de estilo.

Referente a tu problema tengo una pregunta, tu sistema es el que tiene que enviar los caracteres ACK y NAK?

Si es así, es porque el equipo te está solicitando confirmación de alguna cadena que te está enviando.
  1. Necesitas recibir la cadena completa que te envía el equipo de laboratorio.
  2. Verificar que la cadena fué recibida correctamente, tal vez te está mandando algún caracter de comprobación (Check Sum)
  3. Si el carater (Check Sum) es correcto debes enviar ACK (#6) en caso contrario debes enviar NAK (#21)

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #3  
Antiguo 26-03-2008
pai_delpher pai_delpher is offline
Miembro
 
Registrado: mar 2008
Posts: 11
Poder: 0
pai_delpher Va por buen camino
Gracias por responder egostar, ya leí la guía de estilo.

Con respecto al programa:

1. Si, lo que recibo del equipo es algo parecido a esto (formato ASTM):

1H|\^&|||NOVA^pHOx Plus^I00.05^12343210||||||||1|20000127112100F4
2P|1||123CD
3O|1|12|1008||||||||||||Arterial||||||||||F85
4C|1|I|35 SO2% Dependency|IFA
5C|2|I|45 Hb Dependency|IAE
6R|1|^^^pH^M|7.262|||||F||97|20000127111700||123432108D
7R|2|^^^PCO2^M|70.0|mmHg||||F||97|20000127111700||123432103A
0R|3|^^^PO2^M|64.5|mmHg||||F||97|20000127111700||12343210F9
1R|4|^^^Hb^M||mmol/L||||F||97|20000127111700||12343210AE

2. Quizás si, realmente no tengo la certeza. Mi basamento para creer que se necesita Acknowledge está en que probé la comunicación con una interfaz hecha por un tercero a la cual le envié datos, pero solo los recibió cuando la configuración del COM poseía Flow Control: Hardware y ACK/NACK activado.

3. Con respecto a este punto, mi idea era que pudieran aclararme como realizar esta técnica. También que me pudieran recomendar que componentes usar o alguna forma nativa y su modo de uso y configuración (sé que estoy pidiendo demasiado, pero es que estoy un poco atrasado).

Te agradezco tu rápida contestación. Espero puedas ayudarme.

Saludos!!!.
Responder Con Cita
  #4  
Antiguo 26-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Bueno, por lo que he leído, esto "puede" ser mas fácil de lo que pense.

El equipo te envia la primer linea que comienza con un encabezado 1H|

Cita:
1H|\^&|||NOVA^pHOx Plus^I00.05^12343210||||||||1|20000127112100F4
Cuando recibas esta linea debes de enviar al equipo la señal ACK y en ese momento el equipo te va a mandar toda la información sin esperar mas nada..

Para que pruebes esto sin meterte ahora con delphi (por el momento) te recomiendo que hagas una pequeña prueba.
  1. Abre hiperterminal y configura el puerto con la velocidad, paridad, bits de datos y bit de stop adecuados. Puedes asignar el control de flujo a hardware.
  2. En el momento que recibas la primer linea que te envia el equipo presiona la tecla Control y la tecla F (ACK) y deberás recibir toda la información adicional.

Dejanos saber que pasa....

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 27-03-2008
pai_delpher pai_delpher is offline
Miembro
 
Registrado: mar 2008
Posts: 11
Poder: 0
pai_delpher Va por buen camino
Bueno egostar, hice lo que me dijiste pero no obtuve ningún resultado. De hecho, si mal no entiendo, el HyperTerminal no es para conexiones vía modem??...

Estuve haciendo algunas pruebas mas y lo único que recibo son caracteres "f" y "´", realmente no creo que sea tan difícil obtener datos de estos equipos.

Espero puedan ayudarme, seguiré intentando e investigando.

Saludos.
Responder Con Cita
  #6  
Antiguo 27-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por pai_delpher Ver Mensaje
Bueno egostar, hice lo que me dijiste pero no obtuve ningún resultado. De hecho, si mal no entiendo, el HyperTerminal no es para conexiones vía modem??...
No, no solo para modems, tambien para puertos seriales, de hecho tu seleccionas el puerto al que quieres conectarte.

Cita:
Empezado por pai_delpher Ver Mensaje
Estuve haciendo algunas pruebas mas y lo único que recibo son caracteres "f" y "´", realmente no creo que sea tan difícil obtener datos de estos equipos.
Esto me suena a un problema con los parámetros de configuración, tales como Velocidad, Bits de Datos, Bit de Stop y Paridad, verifica que sean los correctos.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
obtener el número de serie de un disco duro serial ATA mgc API de Windows 4 27-03-2009 15:54:18
Manejo Puerto Serial en Delphi 2005 edgusano OOP 0 25-01-2005 17:49:55
Puerto serial CLX bismarck_sierra Lazarus, FreePascal, Kylix, etc. 0 06-07-2004 21:55:22
Puerto serial fled Varios 2 28-04-2004 22:27:47
Puerto serial. danytorres Impresión 1 29-01-2004 16:51:42


La franja horaria es GMT +2. Ahora son las 18:15:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi