Autor Tema: Como Realizar GRAFICOS EN VISUAL BASIC  (Leído 7376 veces)

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

Desconectado risanti13

  • PIC12
  • **
  • Mensajes: 66
Como Realizar GRAFICOS EN VISUAL BASIC
« en: 28 de Marzo de 2006, 12:40:00 »
Hola a todos:

 Tengo una duda.

Necesito realizar una aplicación que reciba datos desde el puerto serial y a la vez realice una grafica para ver el comportamiento de la señal el tiempo.

Pero desconozco  como se puede realizar un grafico en visual Basic 6.0.
El asunto de conexión a través rs232 esta listo pero no se como graficar dicha variable.

DemonioDemonioDemonioRebotadoRebotado
QUIEN SABE COMO HACER GRAFICOS EN VB6

Desconectado karen81

  • PIC10
  • *
  • Mensajes: 22
RE: Como Realizar GRAFICOS EN VISUAL BASIC
« Respuesta #1 en: 28 de Marzo de 2006, 17:27:00 »
aqui te posteo un programa que hice Giño, es parte de un osciloscopio/generador de funciones, que puede que te ayude, pruebalo, con solo que insertes un picture y un boton.

Option Explicit
Dim ejex As Integer
Dim ejey As Integer
Dim acum As Double
Dim x As Integer
Dim y As Integer
Dim dato As Integer
Dim i As Integer
Dim a As Integer


Private Sub Command1_Click()
ejex = 0
ejey = Picture1.Height  "inicializo los puntos del grafico
otro:
For acum = 0 To 100 Step 0.15 "aqui genero la onda, en tu caso aqui seria
    DoEvents                 "leer los datos del puerto serial y guardarlos
    dato = Sin(acum) * 10     "en dato, a veces es necesario multiplicarlos para
                              "que se puedan ver bien en la grafica
Call dibujar
For i = 0 To (100) Step 1 "este es un retraso que se le pone para que el
        For a = 0 To (10) Step 1 "usuario pueda apreciar la onda
        Next a            "si se le quita la onda se dibuja muy rapido
    Next i
Next acum
GoTo otro

End Sub
Public Sub dibujar()
x = ejex + (10) "defino el valor de x que son los datos del eje x,  ejex
"es el dato anterior inicialmente cero ese 10 es para que se aprecie mejor la señal
                               
y = ((Picture1.Height / 2) - ((dato) * 20)) "tomo el valor del alto del cuadro
"entre dos  y se le  resta el valor que me va dando el valor de la función
 "este valor lo multiplico por 20 para que se vea la gráfica
Picture1.Line ((ejex * 3), ejey)-((x * 3), y) "dibujo una linea con los valores
"anteriores
ejex = x
ejey = y
If ejex > Picture1.Width Then "si el valor de ejex es mayor que el ancho del cuadro
    ejex = 0                    "que ponga a ejex a cero
    Picture1.Cls            "y que borre pantalla.
"esta parte la hago para que cuando llegue al final del cuadro inicie de nuevo
"del lado izquierdo del cuadro.
End If
End Sub

esos datos arbitrarios de 20, 3 y los demas que estan ahi son experimentales, para ver como se ve mejor la grafica, lo mismo que el retraso. es cuestion de que pruebes, este programa es solo un ejemplo.
con respecto a aspectos de presentacion como lineas de colores o cosas asi tambien se como hacerlo, espero tu respuesta


saludos y espero te sirva Rebotado  

Desconectado risanti13

  • PIC12
  • **
  • Mensajes: 66
RE: Como Realizar GRAFICOS EN VISUAL BASIC
« Respuesta #2 en: 01 de Abril de 2006, 19:47:00 »
hola:karen81

Gracias por tu ejemplo esta muy bueno. tuveun pequeño problemas al realizarlo pero metiendo manos encontre la propiedad Autoredraw=true. ya que la tenia en false. y resulto.
Aprovechando existe la posibilidad de exportar esta Picture a un BMP. o algo Asi.

Gracias

Desconectado karen81

  • PIC10
  • *
  • Mensajes: 22
RE: Como Realizar GRAFICOS EN VISUAL BASIC
« Respuesta #3 en: 02 de Abril de 2006, 17:13:00 »
invasorque raro yo dejo autodraw en false, bueno la cuestion es que te funcioneGiño
con respecto a lo otro:

Aprovechando existe la posibilidad de exportar esta Picture a un BMP. o algo Asi. Gracias

¿quieres que durante la ejecucion del programa se guarde en algun momento lo que este pasando en el picture? invasor


y si es asi ¿porque razon? si se puede preguntar Flash



saludos Giño

Desconectado risanti13

  • PIC12
  • **
  • Mensajes: 66
RE: Como Realizar GRAFICOS EN VISUAL BASIC
« Respuesta #4 en: 03 de Abril de 2006, 09:20:00 »
RebotadoinvasorHola KarenRebotadoRebotado

       El proyecto que estoy realizando consiste en desarrollar un circuito que permita leer señales de instrumentación ya sea de 4-20 ma o 0-10V proveniente de un controlador de temperatura por ejemplo y así ver el comportamiento de dicha señal en el tiempo.
 Te explico mejor en mi trabajo estuve tratando de ajustar el PID un controlador de Temperatura de un horno. Pero para realizar esto es conveniente realizar un grafico de comportamiento de la temperatura. Por lo general los controladores poseen esta herramienta. pero se me ocurrió realizar un graficados de señales que sea compatible con distintos controladores, transmisores etc. el cual permita leer esta señal análoga.

  El asunto de guardar en una imagen es para respaldo de información.
Hasta el momento solo se guardar en formato texto. pero no se como exportar a BMP.
Te envió el programa que estoy trabajando. solo es la parte visual ya que aun no he realizado la comunicación, y el asunto del grafico, pero gracias a tu ayuda ya se como realizarlo. Solo estoy esperando que me llegue el PIC que encargue a mi tienda de electrónica.
                     ArdiendoArdiendoArdiendoRisantiArdiendoArdiendoArdiendo

No puedo adjuntar la demostracion del programa que estoy haciendo.
espera voy haber si lo puedo enviar al almacen de miarroba o a tu correo. ( y solo pesa 44 kb)

Desconectado risanti13

  • PIC12
  • **
  • Mensajes: 66
RE: Como Realizar GRAFICOS EN VISUAL BASIC
« Respuesta #5 en: 03 de Abril de 2006, 09:29:00 »
Hola karen aqui esta el programa .


http://miarroba.com/foros/ver.php?foroid=348538&temaid=4406667


Nos vemos ..


                             ArdiendoArdiendoArdiendo risanti ArdiendoArdiendoArdiendo

Desconectado karen81

  • PIC10
  • *
  • Mensajes: 22
RE: Como Realizar GRAFICOS EN VISUAL BASIC
« Respuesta #6 en: 03 de Abril de 2006, 17:27:00 »
Giñobuen proyecto.

para guardar el gráfico al codigo que te puse al inicio le agrege otro boton de esta forma:

Codigo:
Private Sub Command2_Click()
"esto te guarda el grafico en el directorio que quieras
SavePicture Picture1.Image, "C:grafico.bmp" "le puse .bmp porque asi me dijiste
"pero puede ser tambien .jpeg
End Sub


y la propiedad AutoRedraw del picture debe estar en TRUE Flash

El problema que da a veces es que esto captura el grafico en cierto momento y si casualmente ese momento era cuando ya se iba acabando la ventana muestra la grafica cortada, pero eso es porque en el programa que te puse, el grafico se esta realizando infinitamente, en tu aplicacion podrias poner que al guardar se deje de graficar por un momentoFumador

bueno espero que te sirva y suerte Rebotado



Desconectado GeoMX

  • PIC10
  • *
  • Mensajes: 46
RE: Como Realizar GRAFICOS EN VISUAL BASIC
« Respuesta #7 en: 04 de Abril de 2006, 16:54:00 »
No me muevo bien en VB pero mi recomendación aquí sería: trabajar con una imagen auxiliar, no visible en pantalla, en ella vas realizando el dibujado, y tras cierto tiempo regular de actualización lleves esta imagen a la pantalla.

Igual estoy perdido y no sirve para dibujar en los forms de VB, aunque esta técnica es la que se usa en muchas aplicaciones gráficas (p. ej. juegos) para evitar que se vean "parpadeos" en el dibujado. Por lo demás, lamento no aportar nada :P, un saludo y suerte.

Saludos,
José Jorge (Geo).


 

anything