Das Programm ist freeware und nur für den privaten Gebrauch. Der Gebrauch sollte jedoch registriert werden, indem mir eine e-mail geschickt wird: siehe index.htm. Das Programm darf nur mit dieser Dokumentation weiter verteilt werden. Der Autor ist nicht verantwortlich für Folgeschäden, die durch das Programm oder die Anwendung der Dokumentation entstehen. Das Programm enthält Programme in Sytemprogrammiersprache. Es wird daher empfohlen, die Daten des Taschenrechners vorher zu sichern (s. ARCHIVE-Befehl). Das Programm läuft nur perfekt auf einem HP49G mit ROM 1.19-6, auf dem 49g+ mit ROM 2.0 oder neuer, gibt es Einschränkungne bezüglich der Genauigkeit. Für den hp 49g+ ist anzumerken, daß die Uhr normalerweise nur auf +/- 1 s genau eingestellt werden kann. Mit "Clock Adjust X.Y+" ist eine theoretische Genauigkeit von +/-0.5 s möglich.
An dieser Stelle möchte ich allen danken, die zu dem Programm und der Dokumentation beigetragen haben. Mein besonderer Dank gilt James M. Prange der zur englischen Dokumentation für Version 2.1 wesentlich beigetragen und wichtige Hinweise gegeben hat. Mein Dank gilt auch Wolfgang Rautenberg, der mir wertvolle Tipps gegeben hat und schon seit Jahren unentbehrliche Programme zur Verfügung stellt. Mein Dank gilt auch Steen Schmidt, u.a. für seinen "Informbuilder", den ich zur Programmierung von ClckAdjst verwendet habe.
Die meisten HP49-Uhren (die eingebauten) gehen nicht sehr genau. Eine Gangabweichung von z.B. einer Sekunde pro Tag, scheint nicht viel zu sein, die Abweichungen addieren sich aber von Tag zu Tag auf und können dann beträchtlich werden. Außerdem wird die Taktfrequenz der HP-Uhr z.B. durch die Temperatur, die Batteriespannung oder durch den Gebrauch des Taschenrechners beeinflusst. Die Umstellung der HP-Uhr auf Sommerzeit oder auf eine andere Zeitzone, ist ohne Zusatzprogramme recht umständlich. Das im folgenden beschriebene Programmpaket leistet die Justierung der HP-Uhr, bietet die Verwaltung von Zeitzonen sowie die automatische Umstellung des Sommerzeitmodus für die USA und für Europa.
Die HP-Uhr wird mit einer genauen Uhr synchronisiert (genau eingestellt). Dieser erste Vorgang wird Initialisieren genannt. Zu einem späteren Zeitpunkt ergibt sich eine Gangabweichung (Zeitdifferenz) zwischen HP-Uhr und der genauen Uhr. Durch ein erneutes Synchronisieren wird die Gangabweichung und die verstrichene Zeit gemessen. Damit ist die HP-Uhr kalibriert. Werden die Gangabweichung und die Zeitpunkte der Synchronisationen gespeichert, dann kann die HP-Uhr für zukünftige Zeitpunkte automatisch korrigiert werden, indem die erforderliche Korrektur aus den gespeicherten Informationen berechnet werden.
Zur eindeutigen Zeitangabe gehört die Angabe der Zeitzone und des Sommerzeitmodus. Erst mit den genannten Angaben ist eine korrekte Berechnung der verstrichenen Zeit möglich. Eventuelle Umstellungen der Zeitzone oder des Sommerzeitmodus können dann ohne Einfluß auf die Kalibrierung vorgenommen werden.
Für einige Länder gibt es Regeln für den Wechsel des Sommerzeitmodus. Diese Regeln können wahlweise manuell oder automatisch angewandt werden. Die Sommerzeitregeln für USA, Kanada, Europa und Russland werden abhängig von der eingegeben Zeitzone berücksichtigt. Für Staaten, die keine Sommerzeit anwenden ist die Sommerzeit-Automatik und der Sommerzeitmodus auszuschalten.
Nur dann, wenn eine korrigierte Zeit gebraucht wird, sollte die erforderliche Korrektur für den jeweiligen Zeitpunkt berechnet und die Uhrzeit korrigiert werden. Direkt bevor z.B. die Uhrzeit angezeigt werden soll, wird ein Programm gestartet (Automatic ADjustment oder AAD), das die HP-Uhr korrigiert. Dazu werden der Zeitpunkt der ersten genauen Einstellung (Initialisierung zum Zeitpunkt 1), der Zeitpunkt der letzten Korrektur Zeitpunkt 2 und die "gesammelte Gangabweichung bis zum Zeitpunkt 2" gespeichert.
Zu einem Zeitpunkt 1 wird die HP-Uhr mit Hilfe einer genauen Uhr eingestellt. Nach einer gewissen Zeit (nach ein bis zwei Tagen) wird zum Zeitpunkt 2 eine Gangabweichung 1 der HP-Uhr festgestellt. Die Gangabweichung in Sekunden wird mit der Funktion dNOW-> (Difference Now) im ClockMenu ermittelt (dNOW-> ist dafür ausgelegt, daß die Gangabweichung zum Zeitpunkt des Startens von dNOW-> weniger als 2.5 Sekunden beträgt). Die erforderliche Korrektur pro Tag wird nach Gleichung 1 berechnet. Damit ist eine Kalibrierung abgeschlossen.
Später, zum einem beliebigen Zeitpunkt 3, wird die Uhrzeit der HP-Uhr korrigiert:
mit
(Gleichung 2).
Die Gangabweichungen zum Zeitpunkt der Korrektur werden auf diese Weise gesammelt (addiert und in Gangabweichung 1 gespeichert). Der Zeitpunkt für die letzte Korrektur wird als Zeitpunkt 2 gespeichert.
Wie schon erwähnt kann sich die Taktfrequenz der HP-Uhr ändern. Die Kalibrierung über einen längeren Zeitraum kann dann von Vorteil sein. Dazu wird zu einem Zeitpunkt 4 die Gangabweichung 3 (z.B. mit dNOW->) bestimmt und damit die
berechnet. Die verbesserte Korrektur/Tag (Nach-Kalibrierung der HP-Uhr) kann dann für zukünftig erforderliche Korrekturen genommen werden. Dazu wird Zeitpunkt 4 als Zeitpunkt 2 und die Summe der Gangabweichungen in Gangabweichung 1 gespeichert.
Wenn die letzte Kalibrierung weit zurück liegt, kann es sein, daß die erforderlichen Korrekturen nicht mehr zu den evtl. veränderten aktuellen Betriebsbedingungen passen. Für erhöhte Anforderungen an die Genauigkeit der HP-Uhr ist dann eine neue Kalibrierung notwendig. Das hätte aber den Nachteil, daß die Uhr von der Initialisierungsphase (Zeitpunkt 1) bis zum Zeitpunkt der neuen Kalibrierung nicht korrigiert würde. Für diesen Fall, oder z.B. für den Fall eines Systemabsturzes ist es praktischer, den alten Wert der erforderlichen Korrektur/Tag zu nehmen und einen fiktiven Zeitpunkt 1 vorzugeben. Dazu wird eine fiktive Gangabweichung
berechnet. Die fiktive Gangabweichung 1 wird dann als Gangabweichung 1, Zeitpunkt 5 als Zeitpunkt 2 und der fiktiver Zeitpunkt 1 als Zeitpunkt 1 gespeichert. Dieser Vorgang entspricht einer Kalibrierung (s. Gleichung 1). Wenn der Zeitpunkt 1 nicht so weit zurück liegt (für ClSet wird 1 Tag vor dem Zeitpunkt 2 gewählt, wenn eine von als erforderliche Korrektur/Tag ein anderer Wert als 0 eingegeben wird), dann sind eventuelle Nach-Kalibrierungen (s. Gleichung 3) wirkungsvoller als wenn der fiktive Zeitpunkt 1 mehrere Tage zurückliegt.
Um die volle Leistungsfähigkeit für ClckAdjst und seine Bedienung zu erhalten wird die Installation von
empfohlen. Um mit der Leistungsfähigkeit und Wirkung der Zusatzprogramme vertraut zu sein, sollte die jeweilige Dokumentation studiert werden. ClckAdjstist jedoch auch ohne diese Programme funktionsfähig. Appsman ermöglicht einen einfachen Zugriff auf die Funktionen von ClckAdjst, kann jedoch auch sonst gut zur persönlichen Konfiguration des HP49G genutzt werden. ACCde ist ein Programm zur Darstellung einer analogen Uhr mit Kalender, das mir schon in mancher Sitzung zur Terminplanung geholfen hat.
Das gepackte Verzeichnis CLDIR (Clock-DIRrectory) ist im Binär-Mode mit dem PC-Connectivity-Kit vom PC auf den HP49G zu übertragen.
Es wird empfohlen, die Größe (Size) von CLDIR und die Check-Sum (Crc) nach dem Entpacken zu überprüfen (Im HOME-dir [RS]&CLDIR drücken). Der Befehl 'CLDIR' BYTES liefert die gesuchten Größen. CLDIR entpackt sich selbst. Dazu wird auf dem HP49G in das Verzeichnis CLDIR gewechselt und die gleichnamige Datei CLDIR in diesem Verzeichnis gestartet.
Wird im entpackten Verzeichnis CLDIR das Programm INST gestartet, erfolgt die Installation der Library (Bibliothek) automatisch.
Nach Drücken von ENTER oder OK wird die Library L1333 in den Stack entpackt und nach Port 2 verschoben. Die Liste MCL wird in das HOME-directory verschoben und das Programm INST gelöscht. Damit ist die Installation beendet.
Vorsicht, es besteht die Möglichkeit, daß gleichnamige Dateien überschrieben oder gelöscht werden. Daher bietet die Choose-Box die Möglichkeit vor Beginn der Installation abzubrechen, um z.B. mit dem Filer zu prüfen ob es eine Library 1333 in Port 2 oder MCL im HOME-dir schon gibt.
Das Verzeichnis CLDIR enthält eine Liste APAR6 (für Appsman) und das Programm DEL, mit dem die Dateien L1333, MCL und das Verzeichnis CLDIRwieder gelöscht, also deinstalliert werden können. Die Variable APAR6 enthält die Liste { 1 2 {Setup ClSet}{Clock Menu ClMen}}. Diese Liste ist in das HOME-DIR zu verschieben, wenn die Funktionalität von Appsman genutzt werden soll (Vorsicht, eventuell ist schon eine Liste APAR6 im HOME-DIR vorhanden).
Zum manuellen Deinstallieren wird CLDIR, die Library L1333 und MCL mit dem Befehl PURGE gelöscht.
Zunächst wird ClSet, das Setup-Programm gestartet. Mit dem Setup werden die Einstellungen für ClckAdjst initialisiert. Das Setup sollte nur dann aufgerufen werden, wenn eine Initalisierungerforderlich ist, also zur ersten Benutzung von ClckAdjst oder z.B. nach einem Crash, wenn die Uhr neu eingestellt werden muß.
Dazu kann ClSet manuell eingegeben und [ENTER] gedrückt werden oder komfortabler die Tastenfolge [RS][LIB] ClckA ClSet ausgeführt werden.
Noch einfacher wäre es, wie zur Uhreinstellung gewohnt [RS] [TIME] auszuführen und eine modifiziert Auswahlbox zu benutzen. Hierzu müßte Appsman installiert sein und z.B. die o.g. Liste in APAR6 im HOME-DIR gespeichert sein.
Nach dem Start des Setup-Programmes ClSet (oder aus der Choose-Box Setup) erscheint eine INFORM-box
Für die erste Benutzung von ClckAdjst wird ein RESET aller Werte empfohlen (Tastenkombination [NXT] RESET OK [NXT].
Dann erfolgt die Einstellung.
TZ: Die Zeitzone (TimeZone). Für GMT ist TZ = 0 (Greenwich Mean Time oder moderner UTC: Universal Time Coordinated oder auch kurz UT). Östlich von Greenwich werden positive Werte eingegeben. Paris und Berlin liegen z.B. in der Zeitzone 1, also TZ = 1. In der untersten Zeile der INFORM-box, wird ein Hilfstext für die Eingabe eingeblendet.
spd: Die erforderliche Korrektur für die HP-Uhr in Sekunden/Tag (seconds per day oder s/d) wird im Feld rechts oben eingegeben. Ist dieser Wert nicht bekannt, sollte hier eine 0 eingegeben werden. Kennt man den Wert für seine HP-Uhr, kann dieser natürlich eingegeben werden eine Kalibrierung wäre nicht mehr erforderlich.
Auto-DST: (Automatic Daylight Saving Time oder automatische Sommerzeitumstellung). Das Check-Mark darf nur gesetzt sein:
Es gibt in den USA Staaten die keine Sommerzeit anwenden (z.B. Indiana und Mountain Region)
Mit gesetztem Check-Mark wird die Umstellung des Sommerzeitmodus automatisch durchgeführt.
Für andere Staaten: Indien (TZ = 5.5, keine Sommerzeit), China (China TZ = 8, keine Sommerzeit)... darf für Auto-DST kein Check-Mark gesetzt sein. Die Umstellung von/nach Sommerzeit muß ggf. manuell erfolgen.
DST: (Daylight Saving Time oder Sommerzeit) Diese Feld ist für die manuelle Einstellung des Sommerzeitmodus und zeigt den aktuellen Modus an.
AsnKey: Diese Möglichkeit von älteren Versionen von ClockAdjust wird nicht mehr unterstützt. Es wird jedoch empfohlen eine Tastenbelegung für die Ausführung von AAD (AutoADjust) und anschließender Anzeige der Uhrzeit z.B. durch ACC oder Timeman (beide Programme von Wolfgang Rautenberg) anzulegen. Mit anderen Worten, die HP-Uhr sollte direkt vor der Darstellung der Uhrzeit korrigiert werden (Genauer geht es nicht!).
Empfohlen für eine Tastenbelegung ist die Installation von Keyman.
Set time, date... Einstellen der HP-Uhr. Bevor die INFORM-box verlassen wird, sollte die Uhr richtig eingestellt werden, d.h. mit einer exakten Uhr synchronisiert werden. Wurde das Synchronisieren direkt vor dem Aufruf von Setup durchgeführt, kann das Check-Mark hier entfallen. Ist das Check-Mark gesetzt, so wird das eingebaute Programm zur Verstellung der Uhr aufgerufen, wenn die INFORM-box verlassen wird. Alternativ wird das Setup mit CANCL verlassen ([ON]-Taste).
Abhängig von den zuvor gemachten Einstellungen, wird dann z.B. zur Einstellung der HP-Uhr aufgefordert (Die Zeiteinstellung kann alternativ mit ON abgebrochen werden). Zum Schluß wird automatisch ClMen (ClockMenu, ein temporäres Menu) aufgerufen und die Initialisierung ist abgeschlossen.
Zur Kontrolle wird AutoADjust angezeigt, ein Hinweis daß AAD gerade ausgeführt wurde und weiter z.B. TZ 1. EU-Auto und evtl. DST angezeigt. Das gewählte Nummern-Format beeinflußt die Darstellung der Zeile und sollte mit Hilfe von MODE "Number Format"... auf "Std" eingestellt sein. "TZ 1. EU-Auto=DST" bedeutet Zeitzone 1, Automatische Sommerzeitumstellung für Europa und =DST (Daylight SavingTime) für Sommerzeit, bzw. ein Ungleichheitszeichen vor DST würde bedeuten, das keine Sommerzeit eingestellt ist. Für Zeitzone 2 z.B. würde NN (ein nicht genanntes Land) angezeigt werden. NN-Auto und NN-Manu wären gleichbedeutend; es wird keine Sommerzeitregel angewandt und die Sommerzeitumstellung müßte von Hand erfolgen. US-Auto würde für die automatische Sommerzeitumstellung in den USA ausgegeben werden.
Das temporäre Clock Menu bietet nun folgende Funktionen:
ChTZ&: Change Time Zone and Daylight Saving Time. Die Funktionsweise kann am besten erläutert werden, wenn das Flag 40 gesetzt ist. Wird -40SF ENTER eingegeben (Leerzeichen in 40SF ist nicht erforderlich). Dann erscheint in der Anzeige die HP-Uhr. Wird nun das Programm ChTZ& aufgerufen, dann erscheint eine INFORM-box mit der Möglichkeit, die Zeitzone oder den Sommerzeitmodus zu verstellen. Eine Verstellung der Zeitzone hat die Verstellung der HP-Uhr zur Folge (Eine Verstellung der Zeitzone (Time Zone) im Setup führen dagegen nicht zu einer Verstellung der HP-Uhr, denn im Setup (wird mit ClSet gestartet) wird die Zeitzone definiert). Eine Verstellung des Sommerzeitmodus wird nur dann die HP-Uhr verstellen, wenn die Verstellung auf Manuell gesetzt ist. Wird die INFORM-box mit ENTER verlassen, so werden die Änderungen wirksam, mit ON wird abgebrochen.
Manu/Auto: (Umschaltung zwischen manueller oder automatischer Umstellung der Sommerzeit). Die Soft-Menu-Taste zeigt den Modus an, zu dem gewechselt werden kann. Der aktive Modus wird im oberen Drittel des Displays nach Betätigung der Taste angezeigt.
ClIni ist für Leute die es ganz genau haben wollen, keine Zeit haben oder beides. Erläuterungen werden nur per e-mail gegeben (Heiko.Arnemann@gmx.de).
dNOW->: difference now. Wird diese Taste gedrückt, so wird die HP-Zeit für diesen Tastendruck oben im Display angezeigt und die Abweichung der HP-Zeit von vollen 5 Sekunden im Stack Zeile 1 ausgegeben. Ist die Gangabweichung der HP-Uhr kleiner als 2.5 Sekunden, so ist der in den Stack abgelegte Wert gleich der erforderlichen Korrektur.
->sADJ: (seconds to ADJust). Dieses Programm liest aus dem Stack Zeile 1 einen Wert (in Sekunden) und verstellt HP-Uhr entsprechend.
MCL: "Memory for the CLock adjustment" ist eineListe mit 8 Objekten
1. TICKS, B->R für den Zeitpunkt der letzten Justierung durch AAD oder durch ->sADJ. Da der hp 49g+ nur auf +/- 1 s genau eingestellt werden kann, wird der Zeitpunkt der "letzten" Justierung berechnet. Dieser Zeitpunkt liegt i.d.R. vor oder nach der Ausführung von AAD oder ->sADJ.
2. TICKS, B->R für den Zeitpunkt der Initialisierung mit ClSet oder durch ClIni
3. Gesammelte Gangabweichungen zwischen 1. und 2.
4. Die Zeitzone, in die mit der nächsten Ausführung von AAD gewechselt wird
5. Die aktuelle Zeitzone
6. Der Sommerzeit-Modus, in den mit der nächsten Ausführung von AAD gewechselt wird.
7. Der aktuelle Sommerzeit-Modus 1 = Sommerzeit, 0 = Winterzeit
8. Automatik/Manueller Modus: 0: Der Sommerzeitmodus muß manuell verstellt werden. 1: Der Sommerzeitmodus wird automatisch umgestellt, abhängig von der gewählten Zeitzone.
The LIB-commands are collected in the "Advanced User's Refrence for ClckAdjst" AUR_CA.htm
Der wichtigste Link für HP-Taschenrechner: http://www.hpcalc.org/
Programm zur Datenübertragung zwischen PC und HP: HPComm 48/49 link kit for Windows 95/98/NT/2000 (included with the HP Graphing Calculator PC Connectivity Kit) http://www.hpcalc.org/hp48/pc/link/hpcomm-30r4.zip
Kommentare, Fragen, Verbesserungsvorschläge, Erfahrungen mit dem Programm und Tips sind herzlich willkommen. Die e-mail Adresse befindet sich in index.htm.