AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

timer parallel?

Ein Thema von happyaura · begonnen am 19. Mär 2006 · letzter Beitrag vom 19. Mär 2006
Antwort Antwort
happyaura

Registriert seit: 12. Jan 2005
Ort: Hamburg
73 Beiträge
 
Delphi 6 Personal
 
#1

timer parallel?

  Alt 19. Mär 2006, 18:29
hallo,

ich hab eine frage zu timern in delphi. mein ziel ist es, 2-4 timer zu nutzen, um damit einen sensor auszulesen. jeder timer ist sozusagen für einen kanal verantwortlich, sprich kanal a wird alle 2 sekunden ausgelesen, kanal b alle 4. nun hab ich das problem, dass der sensor nicht mehrere anfragen auf einmal bearbeiten kann.
wenn als zum zeitpunkt Z kanal a und kanal b ausgelesen werden sollen, wie verhält sich delphi? führt es die beiden zugehörigen proceduren automatisch hintereinander aus oder verwurstet es die, so dass ich irgendwelche chaotischen daten bekommen, wenn überhaupt? gibt es in delphi semaphoren oder ähnliches, um die timer zu "syncronisieren"?




und eine andere frage noch, da kann ichmir die antwort aber wahrscheinlich auch aus 'ner hilfe holen. die messdaten sollen in einer datei abgespeichert werden, ist es sinnvoll nach jedem messwert in die datei zu schreiben? die datei offen lassen oder zwischendurch schließen(ich vermute, in delphi gibt es auch eine art fopen(file) und fclose(file), so kenn ich das zumindest von c/c++ )? oder alle 10,100 oder 1000 werte erst in die datei schreiben und vorher in 'nem array zwischenspeichern?
die frage kann ich mir aber wie gesagt evtl selbst beantworten, nachdem ich mich mit dem schreiben in dateien in delphi auseinandergesetzt habe, aber es wäre lieb, wenn ihr mir zumindest mit den timern weiterhelfen könntet.

besten dank und liebe grüße,
Martin

P.S.: ich nutze z.Zt Delphi 6
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: timer parallel?

  Alt 19. Mär 2006, 18:42
Wenn das Sekundenwerte sein sollen, dann wird es dass beste sein, um nicht Abfragen zeitgleich zu machen, einen Timer, der jede Sekunde anspringt zu nehmen und darin die vergangene Zei zu zählen und immer wenn sie ein vielfaches von 2 oder 4 ist anzuspringen und jeweils das passende zu tun, so wird das zwar nacheinander, aber auch zum (fast) richtigen Zeitpunkt gemacht:
Delphi-Quellcode:
If (Time mod 4)=0 Then
Begin
    Abfrage1..
End;
If (Time mod 2)=0 Then
Begin
    Abfrage2..
End;
Inc(Time);
Benjamin
  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 05:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz