none
AYUDA CON PUERTO SERIE, LEER DE UN CONMUTADOR TELEFONICO RRS feed

  • 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
    miércoles, 20 de enero de 2010 17:03

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
    jueves, 21 de enero de 2010 0:24
    Moderador
  • Te dejo un manual para novatos sobre el control del puerto serie con Visual C# 2008.

    Descargar manual Puerto Serie en PDF.

    Saludo.
  • 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

    jueves, 21 de enero de 2010 15:30
  • 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.........
    jueves, 21 de enero de 2010 16:14
  • 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......

    jueves, 21 de enero de 2010 23:18
  • 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
    jueves, 28 de enero de 2010 11:48
    Moderador
  • disculpame me podria ayudar necesito saber si con una sola tecla puedo habrir todos mis correos? desde ya gracias...........
    miércoles, 31 de marzo de 2010 6:00
  • 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
    me podes excribir a aleale25@live.com.ar
    miércoles, 31 de marzo de 2010 6:05