vPuerto serie 1.0 Ejemplo de manejo de puerto serie Índice Objetivos 2 Esquema de tablas 2 Tipos de componentes 2 Componentes 2 Comandos 2 Eventos 3 Conexión del puerto serie 4 Manejo de la aplicación 5 Utilidades complementarias 7 Asier Amezaga Albizu (asieram@yahoo.es) Página 1 vPuerto serie 1.0 Objetivos Con este ejemplo, podremos introducirnos en la lógica de funcionamiento de los periféricos conectados al puerto serie. Partiendo del la plantilla vDiseño, este ejemplo, proporciona una herramienta para manejar el puerto serie de un PC. La aplicación nos permitirá comunicarnos con periféricos como: router, terminales, balanzas, relés, sensores etc. Esquema de tablas Tipos de componentes: Agrupa los diferentes periféricos conectables al PC, por ejemplo: Router, Relé, Báscula, etc. En esta tabla existe un campo llamado CONTROL_SEC, determina si las secuencias recibidas y enviadas a cada tipo de componente estarán delimitados por los valores STX-ETX o por el LF (Retorno de carro). Componentes: Indica la lista de componentes conectables al PC. Comandos: Hace referencia a las secuencias o tramas que van a ser enviadas al puerto serie. Cada comando está enlazado un maestro de componentes. Los comandos pueden ser de dos tipos: instrucción o respuesta. El final o inicio de la secuencia, vendrá determinado por el tipo de componente asociado al componente del comando. Asier Amezaga Albizu (asieram@yahoo.es) Página 2 vPuerto serie 1.0 Eventos: Todas las respuestas recibidas del puerto serie serán recogidas de forma automática en la tabla de eventos. Si la secuencia recibida, corresponde con alguno de los comandos declarados como respuesta, la aplicación enlazará el evento con el comando correspondiente. Asier Amezaga Albizu (asieram@yahoo.es) Página 3 vPuerto serie 1.0 Conexión del puerto serie El puerto serie podrá ser conectado tanto el servidor donde se encuentre alojado el vServer, como en el puesto del vClient. Dentro del menú de configuración podremos seleccionar el puerto serie, e indicar si el puerto está conectado en el cliente o en el servidor. La lectura del puerto serie se realizará desde un timer incluido en el dock de manejo de comandos, que veremos en el siguiente párrafo. En el menú de configuración, también dispondremos de la opción de configurar el puerto serie. Asier Amezaga Albizu (asieram@yahoo.es) Página 4 vPuerto serie 1.0 Manejo de la aplicación En el dock de la derecha, se sitúan los comandos que vamos a emplear en el manejo del puerto serie. Antes deberemos seleccionar el componente con el que vamos a trabajar. Una vez seleccionado el componente, se activará la lectura del puerto serie. Si cerramos el dock Ejecutar comandos, se detendrá el timer de lectura del puerto serie. Para recuperar el dock, lo podremos hacer desde la opción de menú Mostrar dock de comandos. En el casillero del componente, veremos los comandos de tipo instrucción. Son aquellos comandos que escribirán una secuencia en el puerto serie, para ello se empleará la función de V7, Puertoserie:Envia. Una la zona de abajo del dock, se sitúa una búsqueda de los últimos eventos generados en el puerto serie. Los eventos son las señales recibidas con la función Puertoserie:Recibir de Velneo. Asier Amezaga Albizu (asieram@yahoo.es) Página 5 vPuerto serie 1.0 Asier Amezaga Albizu (asieram@yahoo.es) Página 6 vPuerto serie 1.0 Herramientas complementarias Con el fin de poder simular un entorno de pruebas sin disponer de los puertos serie ni los periféricos pertinentes, existen dos utilidades que nos facilitarán la realización de las pruebas. Virtual Serial Port Driver: Esta utilidad crea un par de puertos virtuales conectados entre sí. Por ejemplo COM1 y COM2. Desde nuestro ejemplo en V7, podríamos escribir en el puerto COM1 y por medio de otra aplicación, leer lo escrito en el puerto COM2. Advanced Serial Port Monitor: Por medio de esta aplicación podremos leer y escribir en los puertos serie. Además también es posible monitorizar en modo espía el tráfico de los puertos serie. Una sesión adicional de vCliente, podría sustituir a la utilidad mencionada. Asier Amezaga Albizu (asieram@yahoo.es) Página 7