RTC stellen mit Elsner Wetterstation P03/3-RS485-WAGO

Begonnen von Homesps, 30. Juli 2011, 11:04:42

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 4 Gäste betrachten dieses Thema.

Homesps

Hallo,

bei mir hängt die Elsner Wetterstation P03/3-RS485-WAGO an einer WAGO 750-653/003-000 RS-485 Klemme. Es gibt dafür von Wago Dokumentation und die passende Bibliothek http://www.elsner-elektronik.de/uploads/tx_bmproducts/Wago_Anwendungshinweis_P03.zip.

In meinem Projekt verwende ich die Zeit der RTC. Wenn ein DCF77-Signal von der Wetterstation empfangen wird, wird die RTC damit regelmäßig synchronisiert.

Aus dem Funktionsbaustein FbMeteorologicalStation füttere ich LTIME_TO_UTC mit der lokalen Uhrzeit (DCF77 ist immer deutsche Lokalzeit) und der Information, ob Sommerzeit ist. Dazu natürlich noch der Offset für CET von 60 Minuten. Damit habe ich DCF77-synchronisierte UTC in der globalen Variable g_dtUTC.

Zur Synchronisation verwende ich AS (mein erster Versuch). Der Schritt "RTC_Stellen" wird erst aktiv, wenn das DCF77-Signal empfangen wird. Eine Schwierigkeit ist, dass die Wetterstation ein Update der Daten nur alle 3s durchführt. Das bedeutet, dass die Uhrzeit der Wetterstation in 3-Sekunden-Schritten "springt". Eine ständige Synchronisation der RTC zeigt dann ebenfalls diese 3s Sprünge.

Gelöst habe ich dies mit einer Eingangsaktion im Schritt "RTC_Stellen", in der nur die aktuelle Zeit gespeichert wird. Anschliessend wird in der Aktion solange die Zeit neu gelesen, bis die Wetterstation einen neuen Wert ausgibt. Dann wird die Zeit der RTC gesetzt. Damit vermeide ich die 3s Sprünge. Anschließend wird noch eine Pause eingelegt.

Da dies mein erster Versuch in AS ist, habe ich keine Ahnung, ob das alles so gut ist. Funktionieren tut es immerhin. Kritik ist willkommen.

Gruß
Klaus

[gelöscht durch Administrator]