Ir al contenido


Foto

Problema para representar datos en tchart


  • Por favor identifícate para responder
3 respuestas en este tema

#1 soymoe

soymoe

    Member

  • Miembros
  • PipPip
  • 12 mensajes

Escrito 05 agosto 2014 - 08:47

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
  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 06 agosto 2014 - 06:30

Saludos.

¿Se asemeja a esto?
  • 0

#3 genriquez

genriquez

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 539 mensajes
  • LocationCali, Colombia

Escrito 06 agosto 2014 - 06:04

La verdad yo simplemente agrego el punto en la serie con el valor y la hora tal cual como la arroja el sistema, no saco intervalos y el tchart funciona muy bien así.
  • 0

#4 soymoe

soymoe

    Member

  • Miembros
  • PipPip
  • 12 mensajes

Escrito 07 agosto 2014 - 01:36

La verdad yo simplemente agrego el punto en la serie con el valor y la hora tal cual como la arroja el sistema, no saco intervalos y el tchart funciona muy bien así.

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.



delphi
  1. Segundos:=segundos+0.1;
  2. RoundSeg:=Redondear(segundos,1);
  3. Contador:=Contador+1;
  4. ComPort1.ReadStr(StrTemp,CantBytes);
  5. if (StrTemp='')or(StrTemp[1]<>'@') then StrTemp:='-------';
  6. if ((StrTemp[3]='@')and(StrTemp[1]='@'))then StrTemp:=StrTemp[2];
  7. if ((StrTemp[4]='@')and(StrTemp[1]='@'))then StrTemp:=StrTemp[2]+StrTemp[3];
  8. if ((StrTemp[5]='@')and(StrTemp[1]='@'))then StrTemp:=StrTemp[2]+StrTemp[3]+StrTemp[4];
  9. Temp:=StrToIntDef(StrTemp,0);
  10. LabelTemperatura.Caption:=IntToStr(Temp);
  11. if ((Temp<>0)and(Contador=5))then
  12.   begin
  13.   chart1.Series[0].Add( Temp,FloatToStr(RoundSeg), clRed );


  • 0




IP.Board spam blocked by CleanTalk.