Blog

Puerto Serie I

Dispositivo serie - Velneo V7 A partir de la versión v7.2 de Velneo V7 se ha añadido el objeto puerto serie, con la particularidad de que es multiplataforma, por lo que podremos manejarlo desde Windows, Linux o Mac OS.

Para añadir un puerto serie a nuestro proyecto, se ha añadido un nuevo icono en la galería de objetos:
Icono de la galería de la objetos

Seleccionando este objeto, el árbol de propiedades mostrará lo siguiente:
puertoserie2_arbolpropiedades

Las propiedades de este objeto son ya conocidas, pues son comunes al resto de objetos, a excepción de las propiedades “Configuración Win” y “Configuración POSIX”. Estas propiedades fijan la configuración para el puerto serie de manera totalmente independiente, según se ejecute la aplicación v7 en un entorno Windows o Linux/Mac OS.

En el manejo de puertos serie, observamos que la configuración de Linux y Mac OS, llamada POSIX es común, esto se debe a que ambos gestionan los puertos series bajo este mismo estándar, siendo así compatibles.

No obstante, es probable que aunque se pueda configurar de distinto modo según la plataforma Windows/POSIX, dicha configuración sea común a ambos si el dispositivo conectado es el mismo.

La ventana que permite la configuración del puerto serie es la siguiente:

puertoserie3_ventanaconfiguracion

Como vemos, los parámetros son los estándar de puerto serie, y deben configurarse en función de las necesidades del dispositivo externo con el que queramos comunicarnos. Solo comentaremos, que el parámetro Timeout, será el tiempo que quedará a la espera de una respuesta al ejecutarse un comando «Recibir». Tras ese tiempo, el contenido que haya transmitido el dispositivo será enviado a la aplicación v7 para ser procesado. Por ejemplo, si tenemos un timeout de 5 segundos, y lanzamos un comando «ls» sobre un dispositivo con un comando «Enviar», y después ejecutamos  el comando «Recibir», puede asegurarse que el comando «Recibir» no finalizará hasta que hayan transcurrido los 5 segundos fijados.

Una novedad de este objeto en V7, es que esta ventana de configuración, puede ser invocada desde el cliente en tiempo de ejecución, por lo que podremos cambiar la configuración sin necesidad de reeditar la caja (sin Velneo vDevelop V7).

Como vemos en la anterior ventana, tenemos un botón “Test” que despliega la siguiente ventana:
puertoserie4_ventanatest

Esta ventana nos será muy útil, pues nos permitirá comprobar en tiempo de diseño de la aplicación (sin necesidad de haber programado nada), si la configuración del puerto serie es correcta y es posible la comunicación con el dispositivo. Esta operación como paso previo a la programación del trafico de entrada/salida es muy útil, ya que en caso de problemas al ejecutar una aplicación, nos permite descartar un problema de configuración, pudiendo centrarnos en la programación para solventar el problema.

En la captura anterior, vemos que hemos lanzado un comando “ls” seguido de un retorno de carro a un router con un Linux embebido, que nos devuelve el listado de los posibles comandos que puede ejecutar.
En el próximo artículo sobre el puerto serie, veremos un ejemplo práctico de programación.

7 thoughts on “Puerto Serie I

  1. Hola,
    ¿Para que el usuario final pueda elegir el puerto COM (1,2,3, ó 4) a usar, deberemos crear cuatro puertos serie o con uno sólo será suficiente y se asignará al elegido por el usuario?
    Saludos,

  2. Hola,

    el usuario final siempre puede elegir entre puerto COM(1,2,3…), cada objeto puerto serie tiene una pantalla de configuración donde podemos elegir el que queramos, de modo que podemos crear por ejemplo un único puerto serie y asignarlo al COM8.

    En la configuración se muestran todos los posibles puertos COM indistintamente de que existan o no realmente en el PC, es cuando se intenta usar el dispositivo cuando se verifica si el COM configurado existe en el sistema y se puede acceder a él.

    Un saludo

  3. Hola vRomero,
    Gracias por responder. Seguramente este no es el sitio donde insistir, pero es que no me queda clara la respuesta. Seguramente no la formulé bien.
    Yo creo un objeto puerto serie que suelen tener todos los equipos, pongamos el COM1, lo pruebo y funciona bien. Ahora resulta que un usuario final tiene el dispositivo serie conectado a su COM2 en lugar de a COM1 que lo tienen otros usuarios finales.
    La pregunta era: ¿Este usuario final, podrá usar el objeto creado para COM1 en COM2, o yo tenía que haber previsto esta posibilidad y haber creado dos objetos serie, uno para COM1 y otro para COM2 con los mismos datos de configuración, que el usuario final usaría en función de a dónde tuviese conectado el dispositivo serie.
    Gracias.
     

  4. Hola José Antonio,

    disculpa, no te entendí antes. Existe un comando de instrucción «Puerto serie: Configurar dispositivo», que como comento en el artículo, permite cambiar la configuración del puerto serie en tiempo de ejecución. Esto permite que tu puedas poner COM1, y si el usuario final tiene un COM2, pueda lanzar dicho dialogo de configuración, reasignando el objeto puerto serie del COM1 al COM2.

    Para esto es conveniente que en algún lugar de la aplicación que use tu cliente final, le des opción (por ejemplo a través de un botón) para lanzar dicho comando y poder modificar la configuración. Los cambios realizados por el usuario quedarán almacenados en local, permaneciendo en futuras ejecuciones.

    Un saludo

Dejar un comentario