Einzelnen Beitrag anzeigen

thorstenf01

Registriert seit: 10. Jul 2003
Ort: Kiel
34 Beiträge
 
#3

Re: Datenauswertung von der Seriellen Schnittstelle

  Alt 27. Jul 2003, 11:26
Hy!
Der Code zum Einlesen lautet:
Code:
procedure TForm3.FormCreate2(Sender: TObject);
var text: string ;
begin
 OpenCom(pchar('com2:9600,N,8,1'));
 Timer2.Interval := 1000;
 Timer2.Enabled := true;
 Label15.Caption:= TimeToStr (Time);
end;

procedure TForm3.Timer2Timer(Sender: TObject);
var Hour, Min, Sec, mSec: Word;
begin
 if Opencom(Pchar('COM2:9600,N,8,1')) = 0 then
 ShowMessage ('COM2 belegt');
 Label15.Caption:= TimeToStr (Time);
 DecodeTime(time, Hour, Min, Sec, mSec);
 RealTime (true);
 DTR (1);
 DTR (0);
 RealTime (false);

 if (Time > StrToTime (Edit2.Text)) and (Time < StrToTime (Edit3.Text)) then DTR (1);
 if (Time > StrToTime (Edit3.Text)) then DTR (0);
end;

function Zaehler: Double;
var Zeit : Double;
begin
  RealTime (true);
  DTR (1);
  TimeInitus;
  While(( CTS=1) and (TimeReadus < 50000)) do;
  Zeit:=TimeReadus;
  DTR (0);
  RealTime (false);
  Zaehler := Zeit;
end;

procedure Nullpunkt;
begin
  delay (500);
  Nullp := -(Zaehler/ln(1-Neg/(Pos+Neg)));
  Delay (500);
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
  OpenCom(pchar('com2:9600,N,8,1'));
  DTR(0);
  RTS (1);
  TXD (0);
  Timer1.Enabled := false;
  delay (500);
  Nullp := -(Zaehler/ln(1-Neg/(Pos+Neg)));
  Delay (500);
  Timer1.Enabled := false;
  Nullpunkt;
  Timer1.Enabled := true;
  Timer2.Interval := 1000;
  Timer2.Enabled := true;
  Label15.Caption:= TimeToStr (Time);
end;

procedure TForm3.Timer1Timer(Sender: TObject);
var Ausgabe:String;
    Zeit: Double;
    Spannung:Real;
begin
  Zeit := Zaehler;
  (*Spannung := (neg+Pos)*(1-exp(-Zeit/Nullp))-Neg;
  Spannung := round(Spannung*100)/100; *)
  Edit1.Text := floattostr(Spannung) + ' V';
end;

procedure TForm3.Button9Click(Sender: TObject);
begin
  Timer1.Enabled := false;
  Nullpunkt;
  Timer1.Enabled := true;
end;
Erläuterung: Durch eine Schaltuhr wird die Schnittstellenabfrage
gestartet und gestoppt und es werden von einer Platine (Analog/Digital
Umsetzeung) Spannungswerte eingelesen, die ich protokollieren muß.
Wie sieht denn das z.B mit StringList aus?
Gruß
Thorsten
  Mit Zitat antworten Zitat