FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema para representar datos en tchart
Hola compañeros, no soy muy ducho en el tema de delphi y quiero mostrar un grafico de la temperatura de un horno, en funcion del tiempo.El problema es el eje de tiempo, porque no se como ingresar los valores del tiempo correspondiente a cada lectura de temperatura que hago, como los intervalos no son constantes, tengo que leer el reloj para sacar la diferencia de tiempo entre una muestra y la otra. Me pueden ayudar?.Gracias
|
#2
|
|||
|
|||
Disculpa, no me queda claro si la aplicación debe de hacer lo que cuentas en tiempo real, o lo que quieres hacer es grabar los datos en una tabla para posteriormente mostrar el gráfico en el intervalo que selecciones. Puede ser que tengas un horno con un reloj y unos sensores de temperatura con el que te comuniques directamente, o que se trate de una lectura manual realizada por un usuario que posterioremente deberá introducir los datos en tú aplicación.
Entiendo que en cualquiera de los casos deberías almacenar los datos en una tabla con dos campos mínimo, uno para la temperatura y otro para la fecha Hora. El modo de representar los datos en tchart dependerá del tipo de gráfico que necesites y del periodo de tiempo y número de lecturas que realices en ese periodo. Si pudieras aclarar un poco más este punto y con que versión de delphi trabajas igual podemos ayudarte. |
#3
|
|||
|
|||
Cita:
|
#4
|
|||
|
|||
Si no recuerdo mal el delphi 7 ya tiene el tscrollbox, se me ocurre que podrias meter el tchar dentro de un tscrollbox para gestionar la representación de los datos en la gráfica moviendo el scroll y evitar el cambio de la escala en tchart.
Cada vez que recibas un valor para grabar le añadas a la serie un nuevo valor con Addxy. Para evitar problemas la información de la gráfica igual deberías de decidir durante cuanto tiempo va a estar disponible el valor en la gráfica por aquello de que no crezca hasta lo intratable. La periodicidad de las lecturas que por lo que leo es variable y el tiempo máximo que quieras representar desde el inicio de la gráfica al final es lo que entiendo que debes utilizar para decidir que unidad utilizar para el eje del tiempo. |
#5
|
|||
|
|||
Hola, ya lo solucione,gracias, necesito hacerlo asi para poder saber el tiempo transcurrido del proceso.
lo soluciones sabiendo el intervalo que tiene el timer del proceso, tiene 0.1seg entre cada evento, entonces puse un contador que incremente en 0.1 cada vez u esos valores los mande a la grafica. Código:
Segundos:=segundos+0.1; RoundSeg:=Redondear(segundos,1); Contador:=Contador+1; ComPort1.ReadStr(StrTemp,CantBytes); if (StrTemp='')or(StrTemp[1]<>'@') then StrTemp:='-------'; if ((StrTemp[3]='@')and(StrTemp[1]='@'))then StrTemp:=StrTemp[2]; if ((StrTemp[4]='@')and(StrTemp[1]='@'))then StrTemp:=StrTemp[2]+StrTemp[3]; if ((StrTemp[5]='@')and(StrTemp[1]='@'))then StrTemp:=StrTemp[2]+StrTemp[3]+StrTemp[4]; Temp:=StrToIntDef(StrTemp,0); LabelTemperatura.Caption:=IntToStr(Temp); if ((Temp<>0)and(Contador=5))then begin chart1.Series[0].Add( Temp,FloatToStr(RoundSeg), clRed ); |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Representar una linea de Tiempo | Edgtho | Varios | 5 | 29-04-2011 22:21:10 |
Problema con TChart | yomismo24 | Gráficos | 0 | 21-08-2008 16:56:35 |
problema con Legend TChart | VRO | Gráficos | 1 | 27-12-2006 10:19:16 |
Componente para representar diversa informacion | Trisckel | Varios | 4 | 03-11-2006 10:23:58 |
Representar coordenadas 3D | blueicaro | OOP | 5 | 20-04-2006 17:03:14 |
|