Autor Tema: un novato que quiere iniciarce en VB 6. config port comm  (Leído 5568 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
un novato que quiere iniciarce en VB 6. config port comm
« en: 30 de Marzo de 2011, 20:15:34 »

hola a todos. he buscado todo este dia y no consigo entender como configurar el puerto com del PC, pero de una forma detallada.
en este tema estoy utilisando BV6, y quiero hacer varias cosas, pero de apoco.

Si me pueden ayudar a poder configurar el puerto com, para poder tener lectura de él. se los agradeseria ya que de verda he buscado info pero no me resulta nada.

he creado un from2 que me me pide el com a utilizar, esto es por medio de un combobox, tambien tengo otro combobox con los baudios, otro con los bit de parada, otro con la paridad, y el ultimo con bit de datos.

ahora como puedo hacer para que con estos datos que tengo, quede listo el puerto para la transmisión o recepción de datos.????
se que en setting del msComm esta la configuracion, pero como puedo generar ésta yo, con los combobox ya mencionados.

saludos y espero queme puedan ayudar. ya que nesesito de ella.

DP: esta es la primera parte nomas por que tengo mas dudas, pero de apoco.  :? :?

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #1 en: 31 de Marzo de 2011, 08:45:15 »
hola, alomeor no se entiende lo que quiero hacer.

ahora uno siempre o por lo menos en la mayoria de los casos uno configura el setting del mscomm a voluntad del pc, pero lo que yo quero es poder configurar este parametro en cualquier momento. y en cualquier pc. osea

MSComm1.CommPort = 1 'Paso 1: elijo el puerto
MSComm1.Settings = "9600,N,8,1" 'Paso 2:
MSComm1.PortOpen = True

el paso dos lo quiero cambiar por la asignación de los combobox que mencione en el post de arriba, porque así podre seleccionar la configuracion de comunicación a voluntad. se entiende ?? ayuda por favor.

lo que yo hice pero lo mas seguro esque este mal es:

MSComm.Setting ="baudios.paridad.dato.bit"

donde cada nombre entre "" son los nombres que le asigno a los combobox. estara bine esto o no ??

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #2 en: 31 de Marzo de 2011, 19:42:07 »
hola, bueno he avansado un poco mas, pero ahora tengo un problema, y es que al definir la configuracion del puerto. para esto estoy usando la siguente sentencia:

Código: [Seleccionar]
MSComm1.Settings = baudios.Text & "," & config & "," & BitdeDato.Text & "," & BitParada.Text
pero el punto es que donde dice config, no me toma el dato que deveria, ya que esta es el bit de paridad, esto lo tengo en un combobox y a esto le tengo las forma de esto,
par
impar
espacio
marca
ninguno

pero segun lo que he leido no se puede configurar con estos nombres, pero si con sus letras de asignacion, osea
E
O
S
M
N

el punto es que para hacer el cambio utilizo

Código: [Seleccionar]
Select Case paridad1.Text
        Case par
             config = e
        Case marca
             config = m
        Case ninguno
             config = n
        Case impar
             config = o
        Case espacio
             config = s
    End Select
pero el punto es que entra en esta sentencia cuando cambio algo de este combobox de paridad1, pero lo que no hace es asigna la letra a la variable config.

se entiende ??? me pueden sedir como hacer esto por favor

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #3 en: 31 de Marzo de 2011, 21:21:13 »
hola, logre lo que pregunto de mas arriba, pero ahora quiero cerrar el puerto, pero desde otro form.
tengo 2 form, donde en el form1 quiero que por medio de un button apague el puerto, pero a la vez que pase a mi form2, y en el form2 tengo mi MSComm1 y sus parametros.
??

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #4 en: 01 de Abril de 2011, 13:29:38 »
sino mal recuerdo tienes que colocar el nombre del formulario seguido del resto.

ej:  form1.mscomm1.port=false

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Ducky

  • PIC10
  • *
  • Mensajes: 18
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #5 en: 01 de Abril de 2011, 17:23:08 »
Hola japifer_22, Para que tu config te guarde el valor deves asignarselo entre comillas doble en el caso de caracteres

ej. Config = "N"

Para poder cerrar el puerto com desde otro formulario tienes quee mandar a llamarlo según en el formulario en que lo tengas

ej. Form1.MSComm1.PortOpen = False

 Saludos!! ;-)
« Última modificación: 01 de Abril de 2011, 17:35:39 por Ducky »
け.:. Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas .:. け

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #6 en: 01 de Abril de 2011, 18:26:23 »
hola gracias por las respuestas, ya he logrado hacer esto. pero en lo que estoy liado ahora es en poder leer una frame en el puerto serie.

STX (02h) - DATA (10 ASCII) - CHECK SUM (2 ASCII) - CR - LF - ETX (03h)
[The 1byte (2 ASCII characters) Check sum is the “Exclusive OR” of the 5 hex bytes (10 ASCII) Data characters.]

donde esto quiere decir que :
Lo que quiere decir que debe eliminar el primer caracter que es STX (02h), este caracter es para hacerte saber el inicio de la cadena, despues de ese caracter es que se envian los 10 caracteres ASCII que nesesito ver por un label, despues viene el checksum, un retorno de carro
y un fin de transmision que es el caratere ETX(03h)

he esto dandole a esto pero no puedo, aparte por que soy muy novato en esto.

estoy recepcionando con MSComm1.
si me pudiecen ayudar se los agradeceria mil.

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #7 en: 01 de Abril de 2011, 20:10:50 »
para ello tienes que echarle mano al conjunto de funciones que manejan cadenas

las funciones que se usan para extraer caracteres de string son: Left, Right y Mid

aquí lo explican mejor y con ejemplos

http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico5.htm#left-mid-right
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Ducky

  • PIC10
  • *
  • Mensajes: 18
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #8 en: 04 de Abril de 2011, 13:25:05 »
Hola, podria ser que un split te pueda funcionar, para separar tu cadena
 
STX (02h) - DATA (10 ASCII) - CHECK SUM (2 ASCII) - CR - LF - ETX (03h)
Ej. tu pic envia: STX - Datos - CHECK SUM - ETX


Quedaria algo así:
                                  cadena = TxtRx.Text
                                  array = Split(cadena, "ETX")
                                  For i = LBound(array) To UBound(array)
                                             msgbox = arreglo(i)     'Aqui podrias agregar tu dato al flexgrid
                                  Next

con esto te separaria las cadenas eliminando o mejor dicho usando el ETX como separador; nose si esta idea te pueda ayudar en algo, Suerte :lol:


Saludos!!
け.:. Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas .:. け

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #9 en: 10 de Abril de 2011, 14:27:08 »
hola gracias por las respuestas, he estado intentando hacer que lo dicen y no me resulta.
la trama que puse en un mensaje más arriba, es proveniente de un sensor id-20 o mejor dicho tag.
Ahora en mi programa de VB tengo 3 form, el primero es portada, y muestra los datos almacenado proveniente de una tarjeta tag, en el segundo form tengo la configuración del puerto com a utilizar, y en el tercero tengo una planilla donde se guardan los datos de la tarjeta tag. en este punto tengo un casillero donde me pide que que pase el tag para poder leer su AIDI y asi asociar todo el formulario a éste. pero el punto que no me resulta esto último, ósea mostrar la AIDI por el label.
Como digo el tag envía una trama igual a la que mencione en un mensaje mas arriba.
Por otro lado no estoy haciendo una base de dato, ni nada por el estilo, solo quiero que al ejecutar el VB poder almacenar los datos del tag y cada vez que pase este me muestre estos dato, y nada más, como digo es solo una forma de aprender a utilizar el VB y aprovechando también la tarjeta tag

saludos

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #10 en: 11 de Abril de 2011, 17:01:33 »
hola tengo una duda y es conrespecto a MSComm1.input, lo que pasa es que el puerto lo habro desde el form 2, pero el punto es que quiero que me muestre algo en el form3, la pregunta es que si ¿cada vez que entro a un form tengo que abrir y cerrar el puerto, o solo tengo que abrirlo una vez desde cualquier form y  luego solo leer desde cualquier form?

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #11 en: 11 de Abril de 2011, 20:42:00 »
.... ¿cada vez que entro a un form tengo que abrir y cerrar el puerto, o solo tengo que abrirlo una vez desde cualquier form y  luego solo leer desde cualquier form?

no hace falta abrir y cerrar cada momento. el uso de varios form no afecta el mscomm

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado japifer_22

  • PIC18
  • ****
  • Mensajes: 405
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #12 en: 12 de Abril de 2011, 15:20:52 »
ok.
pero entonces no se por que no me resulta capturar un dato y mandarlo aun label

lo que hago es:
con texto declarado como string
MSComm.InputLen = 0' antes de abrir el puerto'
texto=MSComm.imput
label1.caption=mid(texto,2,10)

mm como digo estoy resien aprendiendo esto y lo mas provable es que tenga algun tipo de falla.
es por eso que ppido si me ayudan plisss

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #13 en: 13 de Abril de 2011, 23:37:52 »
¿y no debería ser Form1.MSComm.xxxx?

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado banistelrroy

  • PIC10
  • *
  • Mensajes: 29
Re: un novato que quiere iniciarce en VB 6. config port comm
« Respuesta #14 en: 11 de Mayo de 2011, 02:39:30 »
y como seria para tener opciones de configuracion COM1,COM2,COM3,COM4