Jump to content


Photo

Problema para representar datos en tchart


  • Please log in to reply
3 replies to this topic

#1 soymoe

soymoe

    Member

  • Miembros
  • PipPip
  • 12 posts

Posted 05 August 2014 - 08:47 PM

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
  • 2092 posts
  • LocationRepública Dominicana

Posted 06 August 2014 - 06:30 AM

Saludos.

¿Se asemeja a esto?
  • 0

#3 genriquez

genriquez

    Advanced Member

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

Posted 06 August 2014 - 06:04 PM

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 posts

Posted 07 August 2014 - 01:36 PM

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.