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 16-07-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Leer el puerto serial de un conmutador KX-TA308 con tpapro

Buenas tardes compañeros despues de leer los manuales y algunos post del foro sigo sin poder leer el puerto serial del conmutador estoy utilizando el ApdDataPacket por que segun es el que en otros post es el mas recomendable ya revise la info del conmutador y a l oque parece solo tiene cadena de inicio que es CR+LF Pero no entiendo como pasarle ese parametro al componente y los mas complicado com estar capturando los paquetes queme manda el conmutador y dividirlos en campos legibles cualquiera que tenga una idea muchas gracias de antemano.
Responder Con Cita
  #2  
Antiguo 16-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por richy08 Ver Mensaje
Buenas tardes compañeros despues de leer los manuales y algunos post del foro sigo sin poder leer el puerto serial del conmutador estoy utilizando el ApdDataPacket por que segun es el que en otros post es el mas recomendable ya revise la info del conmutador y a l oque parece solo tiene cadena de inicio que es CR+LF Pero no entiendo como pasarle ese parametro al componente y los mas complicado com estar capturando los paquetes queme manda el conmutador y dividirlos en campos legibles cualquiera que tenga una idea muchas gracias de antemano.
Si la memoria no me falla los puertos DB25 de las centrales panasonics tienen dos modos de operación uno "legible" para salida por impresora directo y otro de comandos, donde pueden interactuar a través del puerto serie. Como no tengo el manual a mano (lo deje en Buenos Aires ) Consulta el manual para cambiarle el modo a la central telefónica.

Saludos
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #3  
Antiguo 16-07-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por richy08 Ver Mensaje
Buenas tardes compañeros despues de leer los manuales y algunos post del foro sigo sin poder leer el puerto serial del conmutador estoy utilizando el ApdDataPacket por que segun es el que en otros post es el mas recomendable ya revise la info del conmutador y a l oque parece solo tiene cadena de inicio que es CR+LF Pero no entiendo como pasarle ese parametro al componente y los mas complicado com estar capturando los paquetes queme manda el conmutador y dividirlos en campos legibles cualquiera que tenga una idea muchas gracias de antemano.
Hola

Hay varias formas

1. Usar un ApdDataPacket configurando
  • la propiedad EndString con los caracteres CR y LF
  • la propiedad StartCond con el valor scAnyData
  • la propiedad endCond ecString = True
Usas el evento OnStringPacket para recibir la cadena desde la variable Data del mismo evento.

2. Usar los eventos OnTriggerAvail y OnTriggerData del componente ApdComPort.

Busca en el manual del componente el uso de estos eventos, en realidad es muy fácil.

Salud OS

PD, Cuando hagas referencia a un hilo anterior y la pregunta sea sobre la misma situación, lo adecuado es continuar con el hilo en lugar de crear uno nuevo.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 16-07-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
ok gracias por responder le echare otra machetiada al manual haber si ya se me ilumina la cabeza , otra duda como escribiria CR y LF asi tal cual ??
Responder Con Cita
  #5  
Antiguo 16-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por richy08 Ver Mensaje
ok gracias por responder le echare otra machetiada al manual haber si ya se me ilumina la cabeza , otra duda como escribiria CR y LF asi tal cual ??
loquesea+#13+#10 (de memoria, prueba a la inversa si eso no camina).

Ah, y prueba synaserial, me parece que de las librerias seriales es la mas estable aunque tengas que hacerla multitarea a mano.

Saludos
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #6  
Antiguo 16-07-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
muchas gracias donald lo probare a ver que tal
Responder Con Cita
  #7  
Antiguo 16-07-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por donald shimoda Ver Mensaje
loquesea+#13+#10 (de memoria, prueba a la inversa si eso no camina).

Ah, y prueba synaserial, me parece que de las librerias seriales es la mas estable aunque tengas que hacerla multitarea a mano.

Saludos
Seria bueno que colocaras el enlace a ese componente que mencionas, siempre es bueno conocer cosas mas estables aunque se tengan que hacer cosas a mano .

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 17-07-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
¿cosas a mano? ¿ese no seria un hilo pa'la taberna?
Responder Con Cita
  #9  
Antiguo 17-07-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por FGarcia Ver Mensaje
¿cosas a mano? ¿ese no seria un hilo pa'la taberna?
jejeje, pues en que estas pensando amigo [FGarcia]

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #10  
Antiguo 17-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
Seria bueno que colocaras el enlace a ese componente que mencionas, siempre es bueno conocer cosas mas estables aunque se tengan que hacer cosas a mano .
Salud OS
Por supuesto amigo, es la web de synapse , la librería se llama synaser y se puede descargar aqui .

Digo librería porque no es un componente, es decir que no podemos pegarlo en un formulario. Hay que utilizarlo a la Turbo pascal, para que se entienda.

Aunque eso puede que asuste les garantizo que es un placer utilizarlo.

Saludo.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal

Última edición por donald shimoda fecha: 17-07-2008 a las 00:40:23.
Responder Con Cita
  #11  
Antiguo 17-07-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por donald shimoda Ver Mensaje
Por supuesto amigo, es la web de synapse , la librería se llama synaser y se puede descargar aqui .

Digo librería porque no es un componente, es decir que no podemos pegarlo en un formulario. Hay que utilizarlo a la Turbo pascal, para que se entienda.

Aunque eso puede que asuste les garantizo que es un placer utilizarlo.

Saludo.
Ah muy bien, alguna vez use una biblioteca llamada WSC que compre ya hace muchos años, me imagino que es algo similar, ya le daré una vista a ver que tal.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #12  
Antiguo 17-07-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
buenos dias sigo intentando leer las cadenas del puerto serial pero no lo logro hacer se que ahi conexion por que con un ejemplo que trae si lee lo que el conmutador manda, estoy utilizando un ApdComPort1 que lo configure de igual forma que el ejemplo, y un ApdComPort1 que le puse los parametros que me indicaron pero nada intento imprimir los datos recuperandolos de la variable DATA alguna sugerencia gracias.
Código Delphi [-]
procedure TForm1.ApdDataPacket1StringPacket(Sender: TObject; Data: String);
begin
showmessage(data);
end;
Responder Con Cita
  #13  
Antiguo 17-07-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
me pregunto si ya lo has abierto?

Yo hago esto

Código Delphi [-]
begin
  ApdComPort1.ComNumber := 1; //Es el número de puerto serial que estas usando para recibir datos.
  ApdComPort1.Baud      := 1200;
  ApdComPort1.DataBits  := 8;
  ApdComPort1.Parity    := pNone;
  ApdComPort1.StopBits  := 1;
  ApdComPort1.Open      := True; //Tal vez esto no lo estas haciendo
end;
Como recomendación, cuando trabajas con puertos seriales yo siempre recomiendo que se use hiperterminal para estar seguros que los parámetros de comunicación y el número de puerto son los correctos, si recibes datos correctamente deberias de recibirlos en el programa.

Otra cosa que debes de verificar es la cadena de fin que estas configurando

CR+LF = #13#10 = ^M^J (Así lo vas a ver en el componente)
LF+CR = #10#13 = ^J^M

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #14  
Antiguo 17-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por richy08 Ver Mensaje
buenos dias sigo intentando leer las cadenas del puerto serial pero no lo logro hacer se que ahi conexion por que con un ejemplo que trae si lee lo que el conmutador manda, estoy utilizando un ApdComPort1 que lo configure de igual forma que el ejemplo, y un ApdComPort1 que le puse los parametros que me indicaron pero nada intento imprimir los datos recuperandolos de la variable DATA alguna sugerencia gracias.
Código Delphi [-]procedure TForm1.ApdDataPacket1StringPacket(Sender: TObject; Data: String); begin showmessage(data); end;
Te paso un dato porque veo que no estas seguro de estar enviando y recibiendo.

Toma un conector db9 HEMBRA (el conector del puerto serie, lo consigues en cualquier casa de electrónica).

Le sueldas o puenteas o conectas los pines 2 y 3
Lo conectas al computador

Corres tu programa y envias algo. Si REALMENTE esta enviando vas a recibir LO MISMO que enviaste. Sino, a revisar programa, puerto serie, etc.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #15  
Antiguo 17-07-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Gracias donald y egostar por contestarme y perdon por la tardanza peor tuve unos problemillas con unas conecciones y hasta ahorita lo resolvi, de lo que me comentas donald si estoy seguro de recibir lo que memanda el conmutador lo que no logro hacer es capturarlos y separarlos por campos ahorita mismo voy a probar lo que me dice egostar haber que tal mil gracias por su tiempo.
Responder Con Cita
  #16  
Antiguo 17-07-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
me pregunto si ya lo has abierto?

Yo hago esto


Código Delphi [-]begin
ApdComPort1.ComNumber := 1; //Es el número de puerto serial que estas usando para recibir datos.
ApdComPort1.Baud := 1200;
ApdComPort1.DataBits := 8;
ApdComPort1.Parity := pNone;
ApdComPort1.StopBits := 1;
ApdComPort1.Open := True; //Tal vez esto no lo estas haciendo
end;




Como recomendación, cuando trabajas con puertos seriales yo siempre recomiendo que se use hiperterminal para estar seguros que los parámetros de comunicación y el número de puerto son los correctos, si recibes datos correctamente deberias de recibirlos en el programa.

Otra cosa que debes de verificar es la cadena de fin que estas configurando

CR+LF = #13#10 = ^M^J (Así lo vas a ver en el componente)
LF+CR = #10#13 = ^J^M

Salud OS
por fin empiezo a recibir algo el error que tenia es que no entendia lo que era esto.
CR+LF = #13#10 = ^M^J (Así lo vas a ver en el componente)
LF+CR = #10#13 = ^J^M

seguire probando mil gracias
Responder Con Cita
  #17  
Antiguo 17-07-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
ok ya recibo lo que me manda en el conmutador como un paquete
---------------------------
prueba
---------------------------
1/ 6/98 5:04AM 105 01 0453227797474 00:00'07" ....
---------------------------
OK
---------------------------

ahora la pregunta es me hacen falta datos sera configuracion dle conmutador o del componente y ahi alguna forma de dividirlos en campos o lo tengo que hacer analizando la cadena y separandolos manualmente
Responder Con Cita
  #18  
Antiguo 17-07-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por richy08 Ver Mensaje
Código:
---------------------------
prueba
---------------------------
 1/ 6/98   5:04AM 105  01 0453227797474                         00:00'07" ....  
---------------------------
OK   
---------------------------
ahora la pregunta es me hacen falta datos sera configuracion dle conmutador o del componente y ahi alguna forma de dividirlos en campos o lo tengo que hacer analizando la cadena y separandolos manualmente
Que datos te faltan, por lo que veo estan los que normalmente envie el panasonic, fecha (le hacen falta los ceros y deben de configurar bien el conmutador para que tenga la fecha/hora actual ), hora (formato AM/PM), Extensión, Troncal, Número marcado, Duración.

Esa cadena tendrás que segmentarla y actuar en consecuencia, necesitarás las tarifas telefonicas del Carrier que les de servicio de larga distancia, costos de celular local y nacional, servicio medido, Claves lada de todo el mundo etc, etc, no es poca cosa la que te hace falta

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

Última edición por egostar fecha: 17-07-2008 a las 23:26:35.
Responder Con Cita
  #19  
Antiguo 17-07-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Si tiens razon los datos estan completos hasta ahora echandole de nuevo un vistazo al manual me doy cuenta que asi es los datos estan completos y pues si me hace falta mucho por inplementar ahora la pregunta es lo tengo que segmentar manualmente o el componente ya me provee algo que pueda usar para separarlo gracias de antemano.
Responder Con Cita
  #20  
Antiguo 17-07-2008
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 17
donald shimoda Va por buen camino
Cita:
Empezado por richy08 Ver Mensaje
Si tiens razon los datos estan completos hasta ahora echandole de nuevo un vistazo al manual me doy cuenta que asi es los datos estan completos y pues si me hace falta mucho por inplementar ahora la pregunta es lo tengo que segmentar manualmente o el componente ya me provee algo que pueda usar para separarlo gracias de antemano.
Aún sin conocer el componente, tomando como referencia el string que envías no veo como definir una regla que aplique correctamente.

Dado que la información tiene ancho fijo hazlo simple, un simple copy(str,inicio,fin) y a convertir al dato indicado.

Lo que no recuerdo es si manda cabeceras o algún dato en el medio.

Me acuerdo que yo hice hace muchoooooo tiempo un capturador de esta info, pero esos fuentes volaron, porque fue en la prehistoria.

Saludos.
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
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
Leer el puerto serial de un conmutador Kx-Ta308 richy08 Varios 3 02-07-2008 19:42:46
Como leer desde el puerto serial maravert PHP 2 15-01-2008 01:13:42
Conmutador Panasonic KX TA308 joanrosario Varios 1 23-07-2007 20:05:23
Puerto serial CLX bismarck_sierra Lazarus, FreePascal, Kylix, etc. 0 06-07-2004 21:55:22


La franja horaria es GMT +2. Ahora son las 17:41:48.


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