Доброго времени суток. У меня возникла проблема с построением графика функции в режиме реального времени. В вкратце что мы имеем: из внешнего прибора, пусть это будет коробочка А, поступают данные на ПК они обрабатываются в драйвере, распаковываются и доходят уже непосредственно до нас, данные из 2 - ух каналов, необходимо от рисовать два графика которые бы в режиме реального времени стоили функции независимо друг от друга на одном поле. Я использовал стандартный компонент TChart и Series, но главная соль это что брать по оси X? данные идут непрерывным потоком и просто массив с for не выход (пробовал)
procedure TfmPulseCard.vlSygSetValue(Sender: TCustomValue; Index: Integer;
Value: Single);
var
G: Single;
Freq: Single;
t1,t2: Double;
begin
inherited;
Freq := vlFrequency.Value[0];
vlTimePick.Value[0] := vlTimePick.Value[0] + 1/Freq;
G := Freq * 0.5;
t1 := 0;
t2:= 0;
case Index of
0 : begin
vlMid.Value[0] := vlMid.Value[0]*(G-1)/(G)+vlSyg.Value[0]/G;
frPulse.AddValue(Value - vlMid.Value[0]);
vlAmplBuffer.Value[0] := Value- vlMid.Value[0];
t1:= t1 + 0.005;
IredSeries.AddXY(t1,Value - vlMid.Value[0]);
IredSeries.Repaint;
if t1=5 then t1:=0;
end;
1 : begin
vlMid.Value[1] := vlMid.Value[1]*(G-1)/(G)+vlSyg.Value[1]/G;
TestChart.AddValue(Value - vlMid.Value[1]);
vlAmplBuffer.Value[1] := Value- vlMid.Value[1];
t2:= t2 + 0.005;
RedSeries.AddXY(t2,Value - vlMid.Value[1]);
RedSeries.Repaint;
if t2=5 then t2:=0;
end;
end;
end;