Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Uhrzeit in Echtzeit? (https://www.delphipraxis.net/12907-uhrzeit-echtzeit.html)

Pseudemys Nelsoni 6. Dez 2003 11:26


Uhrzeit in Echtzeit?
 
hoi

wie krieg ich ich in ein label z.b immer die genaue uhrzeit (punktgenau!)
selbst wenn ich nen timer mit dem interval 1 nehme ist es immernoch keine echtzeit oder?
also sobald sich die windows uhr ändert sollte zur gleichen zeit auch mein label die uhrzeit haben....ok ich weiss das es sogar mit einem intervall von 1000 geht...aber da sind die millisekunden dann auch falsch, also hat jemand ne idee? geht das überhaupt?

Chewie 6. Dez 2003 11:37

Re: Uhrzeit in Echtzeit?
 
Echtzeit ist nicht möglich. Durch Polling (regelmäßiges Abfragen) mit immer kürzeren Abständen kommst du zwar recht nahe dran, aber du wirst es nie ganz schaffen. Das genauste, was du im Usermode kriegen kannst, ist ein Thread mit Priorität THREAD_PRIORITY_TIME_CRITICAL, in dem du ständig die Zeit abfragst, aber das haut tierisch auf die Resourcen.
Ein Timer hat nur etwa eine Auflösung von 15 ms, für kürzere Intervalle kannst du den Windows-Timer nicht nehmen.

H4ndy 6. Dez 2003 11:38

Re: Uhrzeit in Echtzeit?
 
Wenn du nen Timer nimmst mit nem Intervall von 1,
dann wird der in jeder Millisekunde was machen,
nur lohnt sich das nicht, da erstens der Timer
unter 10 sehr ungenau wird, die Prozessorlast
wird ziemlich steigen und du kannst eh nicht so
schnell schauen, dass du jede Millisekunde sehen
wirst.

Schau unter dem Gesichtspunkt mal nach
Hier im Forum suchenGetTickCount das dürfte weiterhelfen :)

d3g 6. Dez 2003 11:49

Re: Uhrzeit in Echtzeit?
 
Die Lösung lautet: Wechsle das Betriebssystem. Nimm ein Real-Time Linux oder QNX. Betriebssysteme wie Windows können dir nicht garantieren, dass Messages in einer bestimmten Zeit abgearbeitet werden.

Pseudemys Nelsoni 6. Dez 2003 11:54

Re: Uhrzeit in Echtzeit?
 
danke an alle ;)

Zitat:

Die Lösung lautet: Wechsle das Betriebssystem. Nimm ein Real-Time Linux
soweit wollt ich nicht gehen *g*

negaH 6. Dez 2003 13:30

Re: Uhrzeit in Echtzeit?
 
Zitat:

Die Lösung lautet: Wechsle das Betriebssystem. Nimm ein Real-Time Linux oder QNX. Betriebssysteme wie Windows können dir nicht garantieren, dass Messages in einer bestimmten Zeit abgearbeitet werden.
Auch Linux/Unix können dies nicht garantieren. Es gibt keine Echtzeit Betriebssysteme. Dies ist praktisch unmöglich, da Echtzeit bedeutet das man eine unendlich kleine Taktauflösung benötigte. Nur die hypothetischen Quantenrechner arbeiten in Echtzeit, vorrausgesetzt man definiert Echtzeit als Lichtgeschwindigkeit. Ein Echtzeit OS würde jede beliebige Aufgabe sofort nachdem sie gestellt wurde gelöst haben. Es gibt also keinerlei Zeitverzögerung zwischen Aufgabenstellung und Aufgabenlösung.

Gruß Hagen

sakura 6. Dez 2003 13:31

Re: Uhrzeit in Echtzeit?
 
Zitat:

Zitat von negaH
Ein Echtzeit OS würde jede beliebige Aufgabe sofort nachdem sie gestellt wurde gelöst haben.

Und dann müssten wir uns alle keine Gedanken mehr zum Thema Krypotologie machen :roll:

...:cat:...

Chewie 6. Dez 2003 13:56

Re: Uhrzeit in Echtzeit?
 
Zitat:

Zitat von negaH
vorrausgesetzt man definiert Echtzeit als Lichtgeschwindigkeit.

Na ja, wenn ich Echtzeit definieren würde mit der Zeit, die mein Strom vom Speicher zum Register braucht, dann könnte ich auch mit herkömmlichen elektronischen Rechnern ein Echtzeitbetriebssystem enwtickeln.

Es kann natürlich kein wirkliches Echtzeitsystem geben, was aber auch nicht weiter schlimm ist, denn wir Menschen, denen direkt oder indirekt die Rechner "dienen", können auch keine unendlich kleinen Zeiträume wahrnehmen. Solange also die Verzögerung einer Datenübertragung bzw. -verarbeitung schneller ist als unsere Wahrnehmung, kann solch ein System aus unserer Sicht als Echtzeitsystem bezeichnen.

Zumindest solange bis wir ein System entwickelt haben, das wiederum noch schneller Daten verbrbeiten kann... :wink:

woki 6. Dez 2003 14:08

Re: Uhrzeit in Echtzeit?
 
Hi,

nun es gibt sehr wohl Echtzeitbetriebssysteme. Das iet ein lange eingeführter Begriff, und die brauchen auch keine unendlich kleinen Taktzeiten, weil das ist einfach ein feststehender, lange gebräuchlicher Terminus, und er ist so nicht definiert.

Linux gehört nach den gebräuchlichen Definitionen genauswenig ein zu den sogenannten Echtzeitbetriebssystemen wie Windows, von beiden Betriebssystemen gibr es aber auf dem gleichen Trick beruhende Variationen, die zur Gruppe der Echtzeitbetriebssyteme gehören.

Grüsse
Woki

negaH 6. Dez 2003 14:18

Re: Uhrzeit in Echtzeit?
 
Echt-Zeit, wie das Wort schon besagt mißt sich an Zeit. Und unsere Zeit ist konstant gemessen anhand der Lichgeschwindigkeit. Somit kann Echt-Zeit nur eines bedeuten.
Alles andere sind Bruchteile-Echtzeit Systeme.

Zitat:

Und dann müssten wir uns alle keine Gedanken mehr zum Thema Krypotologie machen
Nicht ganz :) Denn dann würde die Verschlüsselung ebenfalls per Quantenrechnern erfolgen. Deren verschlüsselte Daten wären nicht in unendlich viel Zeit entschlüsselbar ! also auch nicht durch einen Quanten-Cracker-Computer.
Das Verhältnis vom Verschlüsselungs-Aufwand zum Entschlüsselungs-Aufwand ohne Passwort wäre exakt dem mathematischen Verhältnis.
Aus Sicht der Mathematik benötigt man eine Funktion die NUR lösbar ist mit dem korrekten Passwort (s.ä. wie das Nullstellen Problem). Der Quanten-Cracker-Computer wird in unendlich kurzer Zeit die für ihn einzigste Lösung des Problemes finden = unlösbar ! Der Quanten-Passwort-Computer würde demgegenüber aber in Echtzeit sofort die Daten entschlüsseln. D.h. nicht die Power des Quanten-Computer macht die Verschlüsselung sicher sondern das Geheimniss und die richtige Mathematik.

Ein Quantencomputer der nur unendlich wenig schneller als das Licht rechnen könnte wäre in der Lage in die Zukunft zu schauen und würde dann als Quanten-Cracker-Computer das entschlüsselte Resultat noch bevor er die Aufgabe vollständig hat, lösen :-)

Gruß Hagen

Sharky 6. Dez 2003 14:31

Re: Uhrzeit in Echtzeit?
 
Hai ihr,

bitte bei der Frage bleiben. Über die Theorie eines Echtzeitsystemes und deren Definition kann ja in einem eigenen Thread gesprochen werden. Danke :-D und frohen Nikolaus.

d3g 6. Dez 2003 14:44

Re: Uhrzeit in Echtzeit?
 
Zitat:

Zitat von negaH
Auch Linux/Unix können dies nicht garantieren.

Doch, es gtibt Patches für den Linux-Kernel, die Linux zu einem RTOS machen. Man kann sogar mit Windows NT zu einem RTOS umbauen, da liegen die garantierten Zeiten aber im zweistelligen Millisekundenberich, was absolut lächerlich ist.

Zitat:

Zitat von negaH
Es gibt keine Echtzeit Betriebssysteme. Dies ist praktisch unmöglich, da Echtzeit bedeutet das man eine unendlich kleine Taktauflösung benötigte. Nur die hypothetischen Quantenrechner arbeiten in Echtzeit, vorrausgesetzt man definiert Echtzeit als Lichtgeschwindigkeit. Ein Echtzeit OS würde jede beliebige Aufgabe sofort nachdem sie gestellt wurde gelöst haben. Es gibt also keinerlei Zeitverzögerung zwischen Aufgabenstellung und Aufgabenlösung.

Das ist aber nicht die Definition von "Echtzeit-Betriebssystem". Ein Echtzeit-Betriebssystem garantiert dir, wie ich geschrieben habe, dass Messages in einer bestimmten Zeit abgearbeitet werden, sodass man sie z.B. in Flugzeugen oder Atomkraftwerken einsetzen kann.

woki 6. Dez 2003 15:10

Re: Uhrzeit in Echtzeit?
 
Das alles hat mit Echtzeit nun gar nichts zu tun. Echtzeit Betriebssysteme gibt es mindestens seit den siebzigern des letzen Jahrhunderts, mit Quantencomputern, Lichtgeschhwindigkeit brauchen wir uns in diesem Zusammanhang nun gar nicht zu belasten. Echtzeitsysteme sind solche, deren zeitliches Verhalten ausreichend genau verhersagbar ist, um auf Ereignisse des echten Lebens innerhalb einer vorhersagbaren Zeit reagieren zu können.
Oder anders gesagt, sie erlauben, die Modellierung von ereignisgesteuerten Systemen mit Zeitanforderungen und komplexen Prozessaktivierungen.

Echtzeit heißt hier schlicht einfach und ergreifend nur, ihr Verhalten entspricht den Zeitlichen anforderungen zur Steuerung von Systemen des echten Lebens, und nichts mehr.

Was macht ein moderners RTOS aus :RTOS = Real Time Operating System = Echtzeitsystem

Grüsse
Woki

Sharky 6. Dez 2003 23:52

Re: Uhrzeit in Echtzeit?
 
Hai,

ich dachte eigentlich das wir bei der Frage bleiben.

Alles Andere bitte in einen neuen Thread. Danke :-D

Hansa 7. Dez 2003 00:10

Re: Uhrzeit in Echtzeit?
 
Borland weist ausdrücklich darauf hin, daß Delphi KEINE Programmiersprache für Echtzeit-Systeme darstellt. Und das liegt ganz einfach an Windows. Für die ursprüngliche Frage dürfte das aber eigentlich egal sein. Desweiteren ist auch die Lichtgeschwindigkeit nicht unendlich. :(

Pseudemys Nelsoni 7. Dez 2003 09:16

Re: Uhrzeit in Echtzeit?
 
ok ich drücks mal anders aus, ist es möglich das ich an die uhrzeit komme, sobald unten rechts am bildschirm sich die uhr verändert? das ist doch auch nur ein panel, und von irgendwoher muss es die uhr doch auch bekommen oder?

Luckie 7. Dez 2003 09:22

Re: Uhrzeit in Echtzeit?
 
Was spricht denn nun eigentlich dagegen in einem OnTimer-Event jede Sekunde die aktuelle Uhrzeit mit der Funktion Time() zuholen? Das hab eich irgendwie noch nicht kapiert.

Pseudemys Nelsoni 7. Dez 2003 09:37

Re: Uhrzeit in Echtzeit?
 
hallo luckie,

dagegen spricht natürlich nichts, ich meine nur ob es möglich ist das ich immer ganz genau die uhrzeit hab (also sekunden-genau). Wenn ich den intervall des timers auf 1000 habe, dann wird z.b (je nachdem wann der timer denn gestartet hat) mein prog immer ne halbe sekunde(wie gesagt als beispiel) langsamer sein als die windows uhr. Wenn die z.b auf 10:38:10 ist und mein timer erst reagiert wenn die win uhr schon bei 10:38:10.5 ist. ist schwer zu beschreiben was ich meine, aber wenn man sich ein prog macht wo sagen wir mal ein label jede sekunde die uhrzeit zugewiesen bekommt und sich gleichzeitig die windows uhr anguckt sieht man das die uhren (wenn auch nicht dramatisch) um weniger als eine sekunde unterschiedlich sind. Ich hab jetzt nicht vor irgendein programm mit einer uhr zu machen, sondern ich wollte ledeglich wissen ob das funktioniert

woki 7. Dez 2003 09:48

Re: Uhrzeit in Echtzeit?
 
Hi,

also grob abgeschätzt ergibt Luckies Vorschlag eine max Ungenauigkeit von 0,5 sec, solange das System nicht zu ausgelastet ist, um normal zu reagieren. Falls das wirklich nicht ausreicht, würde ich als Verfeinerung vorschlagen, das Timerinterval dynamisch zu korrigieren, um Abweichungen auszugleichen.

Obwohl man das noch weiter verfeinern kann, würde ich sagen das reicht dann wirklich.

Grüsse
Woki

Luckie 7. Dez 2003 09:59

Re: Uhrzeit in Echtzeit?
 
Dann frag die Uhrzeit in einem Intervall von einer halben oder viertel Sekunde ab. das dürfte ja wohl reichen. Und wenn du dann nur noch die Stunden und Minuten anzeigst, fällt es nicht mehr auf. :roll:

Sharky 7. Dez 2003 10:05

Re: Uhrzeit in Echtzeit?
 
Hai,

eventuell hilft dir ja dies in verbindung mit einem Thread weiter?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 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