Autor Tema: comunicacion RS232 en Visual Basic  (Leído 341246 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado davicho70

  • PIC10
  • *
  • Mensajes: 1
RE: comunicacion RS232 en Visual Basic
« Respuesta #15 en: 04 de Octubre de 2004, 10:47:00 »
Buenas como están?? necesito un favor de alguno de ustedes, yo estoy realizando mi tesis y necesito comunicar un PIC16F877 con un programa realizado en Visual Basic por comunicación RS232.

   Se trata de que tengo unos registros en el PIC los cuales necesito cambiar su valor constantemente desde el PC por el programa realizado bajo Visual Basic. Y esto ocurrirá cuando el PIC le envíe un pulso o señal al PC.

   Si les soy sincero no sé controlar la recepción y el envío de datos en el PC en Visual Basic. Yo necesito que me expliquen por lo menos un poco de cómo es el procedimiento o los pasos para realizar esta comunicación, o si es posible me informen en dónde puedo conseguir información a cerca de esto. Del PIC´si sé enviar y recibir lo que sea, pero en Visual Basic no. gracias

David de Venezuela

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: comunicacion RS232 en Visual Basic
« Respuesta #16 en: 04 de Octubre de 2004, 11:42:00 »
Tendrías que usar el control MSComm incluído en VB. Para las primeras pruebas te recomendaría usar el Hiper Terminal incluído en Windows que es más sencillo.
La mayoría de las dudas están ya discutidas y resueltas en este foro... así que a buscar y releer temas viejos.
Cuando te surja una duda que no esté discutida en los foros sólo la tienes que postear con la mayor cantidad de detalles posible, así te podrán ayudar más rapidamente.

Salu2.

Desconectado isa007

  • PIC10
  • *
  • Mensajes: 1
RE: comunicacion RS232 en Visual Basic
« Respuesta #17 en: 27 de Octubre de 2004, 08:27:00 »
Amigos:

Compré una balanza que cuenta con dos puertos seriales, uno que va directamente a la balanza y el otro está disponible; por lo tanto me gustaría enviar el peso a un computador, rescatar aquellos datos y quizás despues tratarlos. Espero encontrar algún programa que me haga esa operación.

Por la atención gracias.

Dante R.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: comunicacion RS232 en Visual Basic
« Respuesta #18 en: 30 de Octubre de 2004, 02:04:00 »
Me alegro que te animaras a publicar tu duda en el foro. Como te decía por privado, aquí tendrás muchas más oportunidades de que alguien te pueda ayudar.

Y ahora, al tema. ¿Qué modelo de balanza es?, ¿tienes el manual?, ¿el protocolo de comunicación es RS232 (esto vendrá explicado en el manual)?

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: comunicacion RS232 en Visual Basic
« Respuesta #19 en: 30 de Octubre de 2004, 09:40:00 »
Hay un forista de Chile tambien, que esta en el tema del pesaje industrial, es muy probable que el pueda conseguirte el protocolo de comunicaciones, si lo hay, del modelo de tu balanza...Sonrisa GiganteSonrisa Gigante
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Dagofile

  • PIC10
  • *
  • Mensajes: 2
RE: comunicacion RS232 en Visual Basic
« Respuesta #20 en: 27 de Noviembre de 2004, 14:55:00 »
Yo hice algo parecido es un programa macro en Power Point con comunicacion serial a control remoto, cambia las paginas en el Power Point

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: comunicacion RS232 en Visual Basic
« Respuesta #21 en: 28 de Noviembre de 2004, 12:59:00 »
Hola Dagofile, eso esta interesante?, podrias ampliar algo tu info?
en una oportunidad, pense en algo asi para las proyecciones en power point....
seria como un control remoto, con solo 2 o tres teclas... y no depender del mouse o teclado...


Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Checho_59

  • PIC10
  • *
  • Mensajes: 1
RE: comunicacion RS232 en Visual Basic
« Respuesta #22 en: 28 de Noviembre de 2004, 19:59:00 »
Hola a todos, desde ya felicito a los creadores de este foro, por lo util que resulta para la aclarar esas dudas que no te dejan dormir en paz.
Ahora vamos a las dudas que tengo...Estoy realizando un proyecto que consiste en activar un par de luces y enviar avisos de alarma mediante un PIC16F84 a un PC(Servidor) y finalmente a un usuario remoto PC (Usuario), el usario debe conectarse mediante un IP al Servidor y este debe transmitir y recibir ordenes mediante el puerto serial Rs232, nesecito de forma urgente saber de que manera envia y recibe los datos el Puerto Serial hacia una entrada o salida(configurada en el banco1 de PIC16F84) del PIC y de que manera puedo hacer la interfase en Visual basic 6 (El EZ server es el programa que utiliza este proyecto, pero estoy tratando de modificarlo) ya sea para la conexion via IP y control por el puerto serial.
Desde ya muchas gracias por la ayuda brindada, y hasta otro momento en que tal vez yo les pueda brindar de mi ayuda. Chao

Desconectado rakzo_25

  • PIC10
  • *
  • Mensajes: 1
RE: comunicacion RS232 en Visual Basic
« Respuesta #23 en: 12 de Diciembre de 2004, 20:49:00 »
hola a todos, soy nuevo, y me interesea mucho ese programa de comunicacion serial, mero me marca un error en la linea "Public CommPort As String, Handshaking As String, Settings As String", si lo comento corre pero en ke se ve afectado el programa?.

Pd: este programa me sirve para la transferencia de datos haci un sistema minimo hecho con un micro 8031? y la verdad me urge gracias...

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: comunicacion RS232 en Visual Basic
« Respuesta #24 en: 13 de Diciembre de 2004, 20:27:00 »
Hola rakzo_25.

Te marca un error porque estás declaranco como una variable algo que ya esta declarado internamente en VB como una propiedad del MSComm.
Las propiedades no se declaran como variables, se usan directamente:

objeto.CommPort[ = valor ]
objeto.Handshaking [ = valor ]

...donde CommPort o Handshaking son las propiedades del objeto MSComm.

Por ejemplo:

MSComm1.CommPort = 1

Es lo mismo que decir:

Hey! MSComm, tenés que usar el puerto serie 1!!!

Eso es una propiedad y ya está incluida en el objeto MSComm, lo mismo sucede con el resto de los objetos, cada uno tiene sus propiedades.

Otro ejemplo. Supongamos que semáforo es un objeto. La propiedad sería "color".

Semaforo.color = rojo

"color" no se declara en ningun lado como string o cualquier otra cosa porque ya esta declarado dentro de semaforo. OK?

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: comunicacion RS232 en Visual Basic
« Respuesta #25 en: 13 de Diciembre de 2004, 20:43:00 »
Como el tema de MSComm es recurrente acá dejo algunas propiedades y los valores válidos para cada una de ellas. Espero que les sirva.

objeto = MSComm1 o el nombre que tenga su control MSComm.

********************************************************

valor = objeto.CommEvent

comEventBreak = 1001 = Se ha recibido una señal de interrupción.

comEventFrame = 1004 = Error de trama. El hardware ha detectado un error de trama.

comEventOverrun = 1006 = Pérdida de información en puerto. El hardware no ha terminado de leer un carácter antes de llegar el siguiente y lo ha perdido.

comEventRxOver = 1008 = Desbordamiento del búfer de recepción. No hay espacio para más datos en el búfer de recepción.

comEventRxParity = 1009 = Error de paridad. El hardware ha detectado un error de paridad.

comEventTxFull = 1010 = Búfer de transmisión lleno. El búfer de transmisión estaba lleno cuando se ha intentado agregar un carácter a la cola de transmisión.

comEventDCB = 1011 = Error inesperado al recuperar el Bloque de control de dispositivos (DCB) para el puerto.

*****************************************

objeto.CommPort[ = valor ]

valor = Un valor entero que especifica el número de puerto.

*****************************************

objeto.InBufferCount[ = valor ]

valor = Una expresión de tipo Integer que especifica el número de caracteres que hay en espera en el búfer de recepción.

*****************************************

objeto.InBufferSize[ = valor ]

valor = Una expresión de tipo Integer que especifica el tamaño del búfer de recepción, en bytes.

*****************************************
dim valor as string    "variable para almacenar los datos

valor = objeto.Input

Devuelve y quita una cadena de datos del búfer de recepción.

La propiedad "InputLen" determina el número de caracteres leídos por la propiedad "Input". Asignar a "InputLen" el valor 0 hace que la propiedad "Input" lea todo el contenido del búfer de recepción.

*****************************************

objeto.OutBufferSize [ = valor ]

valor Una expresión de tipo Integer que especifica el tamaño del búfer de transmisión.

*****************************************

dim valor as string    "variable para almacenar los datos

objeto.Output [ = valor ]

Una cadena de caracteres que se va a escribir en el búfer de transmisión.

*****************************************

objeto.Settings [ = valor ]

valor = Una expresión de cadena que representa el valor del puerto de comunicaciones, como se describe a continuación.

Valor está compuesto por cuatro valores y tiene el formato siguiente:

"BBBB,P,D,S"

Donde BBBB es la velocidad en baudios, P es la paridad, D es el número de bits de datos y S es el número de bits de parada.

La siguiente lista muestra las velocidades en baudios válidas.
 
110
300
600
1200
2400
9600 (predeterminado)
14400
19200
28800
38400
56000
128000
256000

La siguiente tabla describe los valores de paridad válidos.

Valor = Descripción
E = Par
M = Marca
N  = (Predeterminado) Ninguno
O = Impar
S = Espacio

La siguiente lista muestra los valores válidos de bits de datos.
 
4  
5  
6  
7  
8 (Predeterminado)

La siguiente lista muestra los valores válidos de bits de parada.

1  (Predeterminado)
1.5  
2

**********************************

objeto.PortOpen [ = valor ]

valor = Unaexpresión booleana que especifica el estado del puerto de comunicaciones.

Los valores admitidos para valor son:

True = El puerto está abierto
False = El puerto está cerrado

Cuando la propiedad PortOpen es True se abre el puerto. Si le asigna el valor False se cierra el puerto y se borra el contenido de los búferes de recepción y de transmisión. El control MSComm cierra automáticamente el puerto serie cuando finaliza la aplicación.

Asegúrese de que la propiedad CommPort contenga un número de puerto válido antes de abrir el puerto. Si la propiedad CommPort es un número de puerto no válido, cuando intente abrir el puerto el control MSComm generará el error 68 (El dispositivo no está disponible).

Además, el dispositivo del puerto serie tiene que aceptar los valores actuales de la propiedad Settings. Si la propiedad Settings contiene una configuración de comunicaciones que el hardware no admite, es posible que el hardware no funcione correctamente.

**********************************



Desconectado andresbalaguera

  • PIC10
  • *
  • Mensajes: 20
RE: comunicacion RS232 en Visual Basic
« Respuesta #26 en: 21 de Diciembre de 2004, 10:01:00 »
Bueno Amigos;

Ya tengo comunicando dos PC por el puerto serial. Pero quiero dejar en un combobox la opcion de cambiar la velocidad de transmision, paridad, etc. parecido a como esta en el hyperterminal. Ya hice los combobox, le asigne las opciones desplegables, pero ahora no se como hacer que cambien estos settins en el propio MScomm. pueden poner algun ejemplo; Agradezco mucho la colaboracion.

Andres

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: comunicacion RS232 en Visual Basic
« Respuesta #27 en: 21 de Diciembre de 2004, 10:38:00 »
Tenés que poner un boton para habilitar los cambios, entonces en el evento le ponés que cierre el puerto del MSComm (por las dudas que ya esté abierto), si no lo cerrás casi seguro te da error, después le asignás las nuevas propiedades y lo abrís nuevamente. Todo esto puesto dentro del evento Button_Click()
Otra forma es haciendo lo mismo en el evento de cambio en el comboBox, pero no es recomendable.

Desconectado solochina

  • PIC10
  • *
  • Mensajes: 2
RE: comunicacion RS232 en Visual Basic
« Respuesta #28 en: 18 de Enero de 2005, 10:54:00 »
hola a todos de verdad los felicito en lo poco que he podido observar es una pagina super buena, por este motivo quisiera que me ayudaran. Veran yo soy suuuuper nueva en esto he trabajado en visual basic pero no con transmision de archivos. Ahora me encuentro con un proyecto en el que tengo que encriptar archivos y luego pasarlos a otra computadora por puerto serial y por puerto paralelo y como comprenderan me siento en la nebulosaHelado ya hice la parte de encriptacion pero me falta el traspaso de esos archivo si alguien tendria algun codigo o página que me ayude se lo agradeceria eternamenteVacilando

Desconectado ardnax

  • PIC10
  • *
  • Mensajes: 9
RE: comunicacion RS232 en Visual Basic
« Respuesta #29 en: 19 de Enero de 2005, 07:25:00 »
HOLA, ME PUDIERA AYUDAR CON UN PROGRAMA O DAR INFORMACION DE
COMO HACER UNA COMUNICACION RS232 PARA VER LOS DATOS DE UN
UN LECTOR ESCRITOR DE TARJETAS CON CHIP QUE TIENE UN PIC, YA
DETECTO LA TARJETA DENTRO DEL LECTOR LO QUE NO PUEDO ES
OBTENER LOS DATOS DE ESTA TARJETA, TODO ESTO LO HAGO USANDO
VISUAL BASIC 6.0, POR FAVOR AYUDEME YA QUE ESTO ES UN CASO DE
VIDA O MUERTE ES PARA CULMINAR MI PROYECTO DE TESIS.
Atte.
ALEXANDRA


 

anything