Usuario
AYUDA CON PUERTO SERIE, LEER DE UN CONMUTADOR TELEFONICO

Pregunta
-
Soy estudiante de ingenieria en sistemas 5° semestre, trabajo medio tiempo en una empresa mediana de mi ciudad que se dedica al desarrollo de software, ahorita estamos desarrollando un sistema Hotelero, dentro de lo que contendra un TARIFICADOR de llamadas, para ello necesito leer del puerto serial, el cual conecta el computador con el Conmutador Telefonico, que arroja los datos sobre las llamadas. El puerto de mi computadora, recoje los datos.
pues realmente mi conocimiento es poco, por no decir solamente lo basico que enseñan en la escuela,he intentado con muchos ejemplos que e encotrado en la red, usando el SERIAL PORT, Sytem.io.Ports, Unas dll que encontre, he leido sobre tramas ( envio y recepcion) y bueno no he conseguido que lea los datos,
Ahora que ya no tengo mas opciones me decido en preguntar, si alguien me puede ayudar se lo agradeceria.
Yo utilizo VS 2008, C#
Puedo enviarles lo que tengo en codigo para ke me digan k esta mal o ke me falta, asi como la configuracion que utilizo en mi cable
para contacto....
daniel_mx37@hotmail.com
Todas las respuestas
-
Hola Daniel,
Estare encantado de ayudarte. La primera prueba es verificar que la parte de 'hard' esta configurada correctamente, deberiamos intentar alguna operacion para verificar que todo esta correcto. Dispones de algun manual que indique el protocolo de intercambio de datos?
Espero tus noticias,
Pep Lluis,
MVP - Visual Developer -
-
Hola PepLluis
Antes Gracias por responder, mira aqui donde trabajo los tecnicos de telefonia, utilizan la siguiente configuracion en los conectores DB9 Hembra:
El que tengo conectado a mi PC:
Puente en el pin 1 con 4 y 1 con 6
El que va al puerto serie del conmutador:
Puente pin 1 con 6, 6 con 8 y 1 con 4
/* esto tengo entendido que lo hacen para simular los 5 volts que necesita para transmitir datos... */
Ahora bien:
En el DB9 que se conecta a mi pc, tomo el pin 5, y lo enlazo con el pin 5 de mi DB9 Conectado al conmutador Telefonico.
/* Este lo utilizo como Tierra */
En el DB9 que se conecta a mi pc tomo el pin numero 2 (RX) y lo enlazo con el pin numero 3 (TX) de mi DB9 Conectado al conmutador Telefonico.
/* Ese tengo entendido es para la transmision de datos */
Estoy seguro que esa configuracion funciona, pues aqui tenemos un programa que lee del puerto y lo envia a un DBF, y efectivamente lo hace, el problema es que bueno, ese programa fue algo que quedo de alianzas anteriores con otras empresas, pero solo se tiene el EXE, no ay codigo fuente ni nada para ver como lo hacen.
No se exactamente en que lenguage este pero asumo que debe estar en C++. Y pues ahora se tiene pensado leer del conmutador usando VS 2008, C# y enviar a una tabla en SQL, asi que de nuevo aqui estoy intentando.....
quize explicar detallado como conecto, si necesitas algun dato espero tu respuesta o puedo enviarte un dibujo de la conexion.....
de antemano gracias -
Gracias metaconta, de hecho ya habia probado ese manual tambien, lo adapte a un programa que diseñe, configurando el puerto, su velocidad, bits de stop, paridad, y bueno pues tampoco me funciono..... arriba deje algunas especificaciones de mis conexiones que utilizo, toda la ayuda es bien venida.. de nuevo muchas gracias.........
-
-
Metaconta:
Arriba te menciono, sobre unos puentes que tienen mis conectores DB9
/********************************************/
A) El que tengo conectado a mi PC:
Puente en el pin 1 con 4 y 1 con 6
B) El que va al puerto serie del conmutador:
Puente pin 1 con 6, 6 con 8 y 1 con 4
/******************************************/
El conmutador telefonico tiene un buffer, que soporta hasta 96 lineas de informacion...
Entonces, estos puentes realizan lo siguiente:
* Cuando el extremo que va hacia mi computadora ( conector A) ) esta desconectado, CUALQUIER DATO se pierde, es decir puedes generar una llamada y la linea que contiene los datos de la llamada se PIERDE, no se almacenan en el buffer..
* Cuando ambos extremos estan conectados, es decir el de mi conmutador y el de mi computadora, CUALQUIER DATO se almacena, es decir puedes generar una llamada, y se almacenara en el buffer del conmutador.
Ahora bien la aplicacion debe abrir el puerto y entonces hacer que si hay informacion disponible sea leida.
Por lo tanto yo asumo que la transmicion aqui es ASINCRONA PUESTO que no depende del tic del reloj a la hora de enviar datos, en ese instante ser recibidos, si no que se almacenan de forma temporal en un buffer para su lectura posteriror.
bueno ya he intentado mil maneras de leer los datos del puerto, con los eventos que dispone .NET por ejemplo el DataReceived. Y no logro conseguirlo....
no ce si me explique bien, cualquier otra pregunta que tengan para que me puedan ayudar...... -
Daniel,
Permíteme algunas consideraciones.
Es ciertamente atípico, conectar en el lado del PC los pines 1-4 1-6 (DCD con DTR/DSR), simplemente porque corresponden a su uso según la especificación.
Por lo que deduzco utiliza un cable (entre el PC y el Conmutador) que cruza el pin 5-GND y la transmisión/recepción, por lo tanto si me dices que otro programa funciona y con ese hardware está funcionando, se entiende que el conmutador envía una trama cada vez que efectúa una operación sin necesidad de esperar a petición alguna.
En ese sentido si realmente estas deducciones son ciertas, solo te queda probar una a una las velocidades en combinación a paridad (E/N/O..) y bits de stop 1/2.
Aunque lo adecuado sería obtener mayor información del fabricante de la electrónica, para despejar cualquier otra duda.
Suponiendo el cableado que me detallas no estaría demás activar la señal DTR aunque a primera vista no le veo el efecto.
... SerialPort1.DtrEnable = True
Espero tus noticias,
Pep Lluis,
MVP - Visual Developer -
-
Soy estudiante de ingenieria en sistemas 5° semestre, trabajo medio tiempo en una empresa mediana de mi ciudad que se dedica al desarrollo de software, ahorita estamos desarrollando un sistema Hotelero, dentro de lo que contendra un TARIFICADOR de llamadas, para ello necesito leer del puerto serial, el cual conecta el computador con el Conmutador Telefonico, que arroja los datos sobre las llamadas. El puerto de mi computadora, recoje los datos.
me podes excribir a aleale25@live.com.ar
pues realmente mi conocimiento es poco, por no decir solamente lo basico que enseñan en la escuela,he intentado con muchos ejemplos que e encotrado en la red, usando el SERIAL PORT, Sytem.io.Ports, Unas dll que encontre, he leido sobre tramas ( envio y recepcion) y bueno no he conseguido que lea los datos,
Ahora que ya no tengo mas opciones me decido en preguntar, si alguien me puede ayudar se lo agradeceria.
Yo utilizo VS 2008, C#
Puedo enviarles lo que tengo en codigo para ke me digan k esta mal o ke me falta, asi como la configuracion que utilizo en mi cable
para contacto....
daniel_mx37@hotmail.com -