AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Datenauswertung von der Seriellen Schnittstelle
Thema durchsuchen
Ansicht
Themen-Optionen

Datenauswertung von der Seriellen Schnittstelle

Ein Thema von thorstenf01 · begonnen am 26. Jul 2003 · letzter Beitrag vom 27. Jul 2003
Antwort Antwort
thorstenf01

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

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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz