Top Banner
Introducción a la Comunicación serie en VB.NET (Visual 2008) utilizando el Componente SerialPort John Caipa Roldan 1  En este ejemplo, vamos a escribir una sencilla aplicación de Windows en VB.NET que permite la comunicación  bidireccional a través del puerto serie de comunicaciones (COM1). Esta aplicación por ejemplo la podemos utilizar para comunicarnos con un microcontrolador o con otro computador. 1. Abra Visual Studio 2008 2. Vaya a archivo - > Nuevo proyecto - > Aplicación de Windows Forms (proyecto de Visual Basic) 3. Nombre su proyecto, por ejemplo: ComSerialApp y clic en Aceptar 4. A continuación, verá Form1.vb [Design] en la ventana principal de Visual Studio. 5. Pasar el ratón sobre el cuadro de herramientas (parte izquierda), vaya a la sección de componentes. Arrastrar y soltar el componente SerialPort  en su formulario. Esto crear a una instancia de un objeto SerialPort dentro de su aplicación. SerialPort aparecerá en la parte inferior de Form1.vb 6. Haga clic con el botón derecho en SerialPort y vaya a propiedades. En la parte inf erior derech a de Visual Studio, habrá un panel de propiedades que le permiten cambiar la configuración de SerialPort. Por ahora la  propiedad PortName debe estar con COM1. WriteTimeOut y ReadTimeOut en 500ms (opcional). BaudRate en 9600 y StopBits en Two. 1  E-mail: [email protected]
4

Comunicacion Serie en VB2008-John Caipa

Jul 05, 2015

Download

Documents

johncaipa

Este documento es un pequeño ejemplo para realizar una aplicacion de comunicacion bidireccional serie (COM1) utilizando VB.NET (Visual Basic 2008), la cual puede utilizar en comunicación serial entre dos computadores o con un microcontrolador PIC.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Comunicacion Serie en VB2008-John Caipa

5/5/2018 Comunicacion Serie en VB2008-John Caipa - slidepdf.com

http://slidepdf.com/reader/full/comunicacion-serie-en-vb2008-john-caipa 1/4

Introducción a la Comunicación serie en VB.NET (Visual 2008)

utilizando el Componente SerialPort

John Caipa Roldan1 

En este ejemplo, vamos a escribir una sencilla aplicación de Windows en VB.NET que permite la comunicaciónbidireccional a través del puerto serie de comunicaciones (COM1). Esta aplicación por ejemplo la podemos utilizar para

comunicarnos con un microcontrolador o con otro computador.

1. Abra Visual Studio 2008

2. Vaya a archivo - > Nuevo proyecto - > Aplicación de Windows Forms (proyecto de Visual Basic)

3. Nombre su proyecto, por ejemplo: ComSerialApp y clic en Aceptar

4. A continuación, verá Form1.vb [Design] en la ventana principal de Visual Studio.

5. Pasar el ratón sobre el cuadro de herramientas (parte izquierda), vaya a la sección de componentes. Arrastrar

y soltar el componente SerialPort en su formulario. Esto creara una instancia de un objeto SerialPort dentro de

su aplicación.

SerialPort aparecerá en la parte inferior de Form1.vb

6. Haga clic con el botón derecho en SerialPort y vaya a propiedades. En la parte inferior derecha de VisualStudio, habrá un panel de propiedades que le permiten cambiar la configuración de SerialPort. Por ahora la

propiedad PortName debe estar con COM1. WriteTimeOut y ReadTimeOut en 500ms (opcional).

BaudRate en 9600 y StopBits en Two.

1E-mail: [email protected]

Page 2: Comunicacion Serie en VB2008-John Caipa

5/5/2018 Comunicacion Serie en VB2008-John Caipa - slidepdf.com

http://slidepdf.com/reader/full/comunicacion-serie-en-vb2008-john-caipa 2/4

7. Después pase de nuevo al cuadro de herramientas y arrastre un control Button al formulario. Establezca la

propiedad Text del control (en el panel de propiedades) con la frase: Abrir Puerto.

8. Haga doble clic en el botón Abrir puerto y al instante será trasladado a la vista de código de la aplicación.

9. Cortar y pegar estas líneas de código en el interior del Sub Button1_Click. Este código esencialmente abre y

cierra el puerto COM serie haciendo clic en el control Button que acabamos de colocar (llamado Button1).

Además cambiará los estados en el texto del botón para que coincida con la acción actual que realice (abrir o

cerrar el puerto). También activa o desactiva el control Button2 (que añadiremos en el siguiente paso) que

utilizaremos para dar la orden de enviar los datos, esto con el fin evitar una operación no válida.

If Button1.Text Is "Abrir Puerto" Then 

SerialPort1.Open()

Button1.Text = " Cerrar Puerto " 

Button2.Enabled = True 

ElseIf Button1.Text Is "Cerrar Puerto" Then 

SerialPort1.Close()

Button1.Text = " Abrir Puerto " 

Button2.Enabled = False 

End If 

10. Después vaya a la vista de diseño de Form1.vb. Arrastrar y soltar otro control Button en el formulario.

Establecer el texto del Button2 con Enviar. Además arrastre y suelte un control TextBox 

Page 3: Comunicacion Serie en VB2008-John Caipa

5/5/2018 Comunicacion Serie en VB2008-John Caipa - slidepdf.com

http://slidepdf.com/reader/full/comunicacion-serie-en-vb2008-john-caipa 3/4

11. Haga doble clic en el botón Enviar y llénelo con el siguiente código dentro del Sub Button2_Click. Este

fragmento de código funciona para enviar los datos que se encuentren escritos en el control TextBox que

añadimos en el paso anterior, además muestra un historial de lo que se ha enviado en un control ListBox que

vamos a agregar en el paso siguiente.

SerialPort1.WriteLine(TextBox1.Text)

ListBox1.Items.Add("enviado:" + TextBox1.Text)

12. A continuación, volver a la vista Diseño y arrastrar y soltar dos controles ListBox en el formulario. Cambiar el

tamaño como necesarias para adaptarse a la forma.

13. Por último haga clic una vez en el SerialPort en la parte inferior. A continuación, vaya al panel de

propiedades, haga clic en el símbolo del relámpago. Verá Misc, DataReceived, ErrorReceived, PinChanged.

Haga doble clic en DataReceived y coloque dentro del sub este código.

ListBox2.Items.Add("recibido:" + SerialPort1.ReadExisting())

Esta función se ejecutará o llamará siempre que existan datos almacenados en el búfer de entrada. Laemplearemos para mostrar los datos de entrada desde el puerto de comunicaciones serie en el control ListBox2

que añadimos en el formulario en el paso anterior.

14. Has completado la aplicación. Ahora presione Ctrl-F5 para iniciar sin depurar. La aplicación se debe ejecutar.

Prueba la aplicación, haga clic en Abrir puerto, escriba algunos datos en el cuadro de texto y, a continuación,

haga clic en Enviar. Asegúrese de que esté conectado el cable Rs232 entre 2 equipos o al MAX si está

utilizando microcontroladores PIC.

OJO: Si por alguna razón al momento de RECIBIR datos en la aplicación se produce el siguiente error:“Operación no válida a través de subprocesos: Se tuvo acceso al control 'ListBox2' desde un subproceso

distinto a aquel en que lo creó.”, hay que deshabilitar la excepción System.InvalidOperationException dela siguiente manera:

Control.CheckForIllegalCrossThreadCalls = False 

Enhorabuena, has escrito correctamente un programa de comunicaciones serie que utiliza la claseSerialPort en VB.NET (Visual Studio 2008)!!

Page 4: Comunicacion Serie en VB2008-John Caipa

5/5/2018 Comunicacion Serie en VB2008-John Caipa - slidepdf.com

http://slidepdf.com/reader/full/comunicacion-serie-en-vb2008-john-caipa 4/4

 

Cuando conozca mejor el entorno de trabajo, puede intentar mejorar su aplicación colocando un botón para salir, o tal

vez colocar 2 controles ComboBox para que el usuario pueda seleccionar los baudios y el puerto de comunicaciones,

etc. Al final con algo de trabajo obtendrá algo como lo siguiente:

INTENTALO!

REFERENCIAS:

http://blogs.msdn.com/b/tolong/archive/2006/08/07/690851.aspx 

VERSION #3