AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wegmessung in Thread -> v und a berechnen Theoriefrage
Thema durchsuchen
Ansicht
Themen-Optionen

Wegmessung in Thread -> v und a berechnen Theoriefrage

Ein Thema von BAMatze · begonnen am 22. Okt 2009 · letzter Beitrag vom 23. Okt 2009
 
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#1

Wegmessung in Thread -> v und a berechnen Theoriefrage

  Alt 22. Okt 2009, 09:23
Hallo und guten Tag an alle DP´ler,

Mal eine rein theoretische Frage zu der Berechnung von Geschwindigkeit und Beschleunigung eines sich bewegenden Objektes mittels Thread. Wobei eigentlich die Genauigkeit einer solchen Berechnung interessant für mich ist, da ich ja schon oft gelesen hab, dass Windows ja keine "Echtzeit-BS" ist. Die restliche Theorie betreffend Geschwindigkeit ist Ableitung des Weges nach der Zeit, Beschleunigung ist Ableitung der Geschwindigkeit nach der Zeit oder die zweite Ableitung des Weges nach der Zeit, ist mir schon klar.

Also ich verwende folgende Execute-Fkt in meinem Thread:

Delphi-Quellcode:
procedure TControlCardControlThread.Execute;
var c, iIndex: integer;
begin
  for iIndex := 1 to 5 do (Form3.findcomponent('CheckBox' + inttostr(iIndex+8)) as TCheckBox).Checked:= fabDigChannelSignals[iIndex];
  repeat
  c := GetTickCount;
  // hier soll nun eine Wegmessung erfolgen und diese soll mit der vorhergegangenen Messung des Threaddurchlaufes verglichen werden und über das Intervall in Geschwindigkeit und Beschleunigung überführt werden.
  bUpdateDataForm1 := ComportSearch(FsLComport);
  Synchronize(UpdateForms);
  c := {interval}50 - (GetTickCount - c);
  if c > 0 then Sleep(c);
until Terminated;
if assigned(FsLComport) then FsLComport.Free;
end;
Meine Frage ist nun: Ich habe das Intevall des Threads ja auf 50ms festgesetzt. Wie genau werden diese 50ms denn eingehalten? Es ist ja bekannt, dass die Threads immer einen zuteilungsfähigen Status und einen ruhenden Status haben. Wird wirklich nach 50ms die repeat-Schleife des Threads neu gestartet, so dass ich exakt sagen kann, v = ((Differenz der Wegmessung)/ 50ms) oder ist das eher nach dem Motto 50ms +/- Tolleranz (mir ist schon bewusst, dass ein Teil meines Intervalls durch das Abarbeiten meiner Routinen im Thread verbraucht werden)?

Hoffe jemand kann mir da eine genaue Auskunft geben.
Vielen Dank
BAMatze
2. Account Sero
  Mit Zitat antworten Zitat
 


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 22:54 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