WS2500 V24-Kommunikation

WS2500 V24-Kommunikation Seite 1 von 9 Inhaltsverzeichnis V24-DATENÜBERTRAGUNG .......................................................................
Author: Heinz Kaufer
8 downloads 2 Views 92KB Size
WS2500 V24-Kommunikation

Seite 1 von 9

Inhaltsverzeichnis V24-DATENÜBERTRAGUNG ........................................................................................................................... 3 AKTIVIERUNG DER DATENÜBERTRAGUNG ........................................................................................................... 3 DATENFORMATE .................................................................................................................................................. 4 Datenrahmen bei Befehlen vom PC zur WS2500 ............................................................................................ 4 Befehlsübersicht .............................................................................................................................................. 4 Datenrahmen bei Antworten von der WS2500:............................................................................................... 4 BESCHREIBUNG DER BEFEHLE UND DER ANTWORTEN..................................................................... 5 KOMMUNIKATION AKTIVIEREN ............................................................................................................................ 5 DCF UHRZEIT UND DATUM ABFRAGEN ............................................................................................................... 5 NÄCHSTEN DATENSATZ WÄHLEN ........................................................................................................................ 6 ERSTEN DATENSATZ WÄHLEN ............................................................................................................................. 6 DATENSATZ ANFORDERN ..................................................................................................................................... 6 DATENSATZ ......................................................................................................................................................... 7 STATUS ABFRAGEN .............................................................................................................................................. 9

Seite 2 von 9

V24-Datenübertragung Aktivierung der Datenübertragung • Im Normalzustand ist die WS2500-Wetterstation inaktiv und reagiert nicht auf V24Signale. • Zur Aktivierung ist solange der Aktivierungs-Befehl zur Station zu senden, bis diese antwortet. • Die WS2500 aktiviert ihre Schnittstelle sobald ein Zeichen ankommt. Allerdings dauert es ca. 30ms bis der Oszillator stabil läuft und Befehle ordnungsgemäß empfangen werden. • Nachdem die Station auf den Aktivierungs-Befehl geantwortet hat, kann die Datenübertragung beginnen. • Der Datenaustausch über die V24-Schnittstelle hat Vorrang vor dem Sensorempfang. Deshalb sollte der Datenempfang in größeren Abständen erfolgen. • Datensätze werden deshalb auch nur nach expliziter Aufforderung vom PC gelöscht. Durch Vergleich der übertragenen Blocknummern im Datensatz kann der PC feststellen, ob der nächste Datensatz tatsächlich gewählt wurde. • Erfolgt für 500ms kein Datenverkehr, so wird die Schnittstelle der WS2500 wieder deaktiviert.

Seite 3 von 9

Datenformate Datenübertragung : 19200 Baud, Even Parity, 8 Bit, 2 Stop

Datenrahmen bei Befehlen vom PC zur WS2500 ist das Startzeichen der Datenübertragung ist der Befehl für die WS2500 ist eine Prüfbyte, der dem negierten Wert für den Befehl entspricht. (hat z.B. Befehl den Wert 31h, so muss Prüf den Wert CFh haben. ist das Endezeichen der Datenübertragung

Befehlsübersicht ‚0’ ‚1‘ ‚2‘ ‚3’ ‚4’ ‚5’

: Kommunikation aktivieren : DCF Zeit anfordern : 1. gespeicherten Datensatz wählen : nächsten Datensatz wählen : Datensatz anfordern : Status abfragen

Datenrahmen bei Antworten von der WS2500: [Nachricht] Als Startzeichen wird und als Endezeichen gesendet Alle Zeichen zwischen Start und Ende werden so bearbeitet, dass kein und kein darin vorkommt. wird zur Zeichenfolge : wird zur Zeichenfolge : wird zur Zeichenfolge : • • •

Nach Empfang eines Datenpaketes, muss zuerst diese Bearbeitung aufgehoben werden, bevor eine Prüfung der Länge und der Prüfsumme erfolgen kann. Die Länge gibt die Anzahl der Zeichen in der Nachricht an. Die Prüfsumme ist die negative 8-Bit-Summe der Bytes von bis zum letzten Zeichen der Nachricht. Werden alle Zeichen (von STX bis zur Prüfsumme) aufaddiert so müssen die unteren 8 Bit der Summe 0 ergeben.

Bei fehlerhaftem Datenempfang sendet die WS2500 die Nachricht .

Hex :

02 01 15 E8 03

Hinweis: Bei der nachfolgenden Beschreibung der einzelnen Befehle wird als Antwort nur die eigentliche Nachricht angegeben. Der Datenrahmen ist noch hinzuzufügen.

Seite 4 von 9

Beschreibung der Befehle und der Antworten Kommunikation aktivieren ‘0’ (-Summe) Dient zur dazu, die Kommunikation mit der WS2500 aufzubauen. Antwort der Wetterstation: (1 Byte)

DCF Uhrzeit und Datum abfragen ‘1’ (-Summe) Abfrage der Uhrzeit und des Datums an der Wetterstation

Antwort der Wetterstation: (6 Bytes) (Std) (Min) (Sekunde) (Tag) (Monat / Wochentag / Flag) (Jahr) Std Min Sek Tag Monat

Jahr

1 Byte 1 Byte 1 Byte 1 Byte 1 Byte

: Stunde in BCD (Einer : b0-3 : Minute in BCD (Einer : b0-3 : Sekunde (binär !) : Tag in BCD (Einer : b0-3 : b0-b3 Æ Monat (binär!) : b4-b6 Æ Wochentag : b7 Æ DCF ok 1 Byte : Jahr in BCD (Einer : b0-3

Zehner : b4-7) Zehner : b4-7) Zehner : b4-7)

Zehner : b4-7)

Seite 5 von 9

Nächsten Datensatz wählen ‘2’ (-Summe) Dieser Befehl dient dazu, den Ringzeiger auf die Datensätze in der WS2500 zu erhöhen. Nach Abfrage eines Datensatzes wird der Zeiger nicht automatisch erhöht, da die Station nicht erkennen kann, ob die Daten vom PC ordnungsgemäß verarbeitet worden sind. Der PC muss den Zeiger über diesen Befehl erhöhen, der damit eine Bestätigung für die Wetterstation ist. Antwort der Wetterstation: (1 Byte) 1. nächster Datensatz vorhanden : 2. keine Datensatz vorhanden:

Ersten Datensatz wählen ‘3’ (-Summe) Dieser Befehl dient dazu, den Ringzeiger auf den ersten in der WS2500 gespeicherten Datensätze zu setzen. Antwort der Wetterstation: (1 Byte)

Datensatz anfordern ‘4’ (-Summe) Antwort der Wetterstation: (36 Bytes) 1. keine Daten vorhanden: 2. Daten vorhanden [Blocknummer Lo] [Blocknummer Hi] [Zeit Lo] [Zeit Hi] (32 Byte Datensatz) Blocknummer.: Nummer des Blockes im Speicher (kein Bezug zur Zeit. Dient zur Kontrolle von doppelt übermittelten Datensätzen) Zeit: Alter des Datensatzes in Minuten zum jetzigen Zeitpunkt. Daten: Datensatz 32 Bytes

Seite 6 von 9

Datensatz Der Datensatz besteht aus 32 Bytes wobei jedes Byte zwei Ziffern enthält. Nachfolgend werden die Bits 0-3 als „L“ und die Bits 4-7 als „H“ bezeichnet.

Temperatur / Feuchte Sensor 1 - 8 Die Temperaturen werden im BCD-Format mit 3 Ziffern übertragen, wobei das höchste Bit dem Vorzeichen entspricht. Daraus ergibt sich ein Wertebereich von –79,9°C bis +79,9°C. Die Feuchte wird im BCD-Format – 20% übertragen. dadurch kann das dritte Bit im 10er Wert als Neuflag genutzt werden. ÆEin übertragener Wert von 75 entspricht einer Feuchte von 95%. Ist der 1er größer 9, so ist der Feuchtewert ungültig (Sensor hat keine Feuchte) L1 Temp 1 in °C b3-b0 Æ 0.1er (0-9) H1 Temp 1 in °C b7-b4 Æ 1er (0-9) L2 Temp 1 in °C b2-b0 Æ 10er (0-7) b3 Æ Vorzeichen ; H2 Feuchte 1 in % b7-b4 Æ 1er (0-9) (wenn Wert > 9 Æ Sensor ohne Feuchte) L3 Feuchte 1 in % b2-b0 Æ 10er-2 (0-7) b3 Æ Neuflag; H3 L4 H4

Temp 2 in °C Temp 2 in °C Temp 2 in °C

L5 H6

Feuchte 2 in % Feuchte 2 in %

L6 H6 L7

Temp 3 in °C Temp 3 in °C Temp 3 in °C

H7 L8

Feuchte 3 in % Feuchte 3 in %

H8 L9 H9

Temp 4 in °C Temp 4 in °C Temp 4 in °C

L10 Feuchte 4 in % H10 Feuchte 4 in %

L11 Temp 5 in °C H11 Temp 5 in °C L12 Temp 5 in °C H12 Feuchte 5 in % L13 Feuchte 5 in %

H13 Temp 6 in °C L14 Temp 6 in °C H14 Temp 6 in °C L15 Feuchte 6 in % H15 Feuchte 6 in %

L16 Temp 7 in °C H16 Temp 7 in °C L17 Temp 7 in °C H17 Feuchte 7 in % L18 Feuchte 7 in %

H18 Temp 8 in °C L19 Temp 8 in °C H19 Temp 8 in °C L20 Feuchte 8 in % H20 Feuchte 8 in %

b7-b4 b3-b0 b6-b4 b7 b3-b0 b6-b4 b7

Æ 0.1er (0-9) Æ 1er (0-9) Æ 10er (0-7) Æ Vorzeichen ; Æ 1er (0-9) Æ 10er-2 (0-7) Æ Neuflag;

b3-b0 b7-b4 b2-b0 b3 b7-b4 b2-b0 b3

Æ 0.1er (0-9) Æ 1er (0-9) Æ 10er (0-7) Æ Vorzeichen ; Æ 1er (0-9) Æ 10er-2 (0-7) Æ Neuflag;

b7-b4 b3-b0 b6-b4 b7 b3-b0 b6-b4 b7

Æ 0.1er (0-9) Æ 1er (0-9) Æ 10er (0-7) Æ Vorzeichen ; Æ 1er (0-9) Æ 10er-2 (0-7) Æ Neuflag;

b3-b0 b7-b4 b2-b0 b3 b7-b4 b2-b0 b3

Æ 0.1er (0-9) Æ 1er (0-9) Æ 10er (0-7) Æ Vorzeichen ; Æ 1er (0-9) Æ 10er-2 (0-7) Æ Neuflag;

b7-b4 b3-b0 b6-b4 b7 b3-b0 b6-b4 b7

Æ 0.1er (0-9) Æ 1er (0-9) Æ 10er (0-7) Æ Vorzeichen ; Æ 1er (0-9) Æ 10er-2 (0-7) Æ Neuflag;

b3-b0 b7-b4 b2-b0 b3 b7-b4 b2-b0 b3

Æ 0.1er (0-9) Æ 1er (0-9) Æ 10er (0-7) Æ Vorzeichen ; Æ 1er (0-9) Æ 10er-2 (0-7) Æ Neuflag;

b7-b4 b3-b0 b6-b4 b7 b3-b0 b6-b4 b7

Æ 0.1er (0-9) Æ 1er (0-9) Æ 10er (0-7) Æ Vorzeichen ; Æ 1er (0-9) Æ 10er-2 (0-7) Æ Neuflag;

(wenn Wert > 9 Æ Sensor ohne Feuchte)

(wenn Wert > 9 Æ Sensor ohne Feuchte)

(wenn Wert > 9 Æ Sensor ohne Feuchte)

(wenn Wert > 9 Æ Sensor ohne Feuchte)

(wenn Wert > 9 Æ Sensor ohne Feuchte)

(wenn Wert > 9 Æ Sensor ohne Feuchte)

(wenn Wert > 9 Æ Sensor ohne Feuchte)

Seite 7 von 9

Regensensor Beim Regensensor werden Wippenschläge gezählt und der jeweilige binäre 7Bit Zählerstand übermittelt. Um eine Regenmenge zu erhalten, ist der aktuelle Zählerstand vom vorherigen Zählerstand zu subtrahieren und die Differenz mit 370ml zu multiplizieren. Daraus ergibt sich die gefallene Regenmenge.

L21 Regen Lo H21 Regen Hi

b3-b0 Æ untersten 4 Bit vom 7Bit-Wippenzähler b6-b4 Æ obersten 3 Bit vom 7Bit-Wippenzähler b7 Æ Neuflag;

Windsensor Der Wind wird im BCD-Format in km/h übermittelt, wobei die 10er Stelle eine Ausnahme bildet, denn sie kann einen Wert >9 annehmen. Eine Windgeschwindigkeit von 123,4 km/h würde als übermittelt. Daraus ergibt sich eine Wertebereich von 0 bis 159,9 km/h. Die Windrichtung wird mit 5° Auflösung übermittelt, wobei im 1. Nibble das unterste Bit den 5er Wert representiert. Die oberen beiden Bits des 100er-Nibbles geben die Schwankungsbreite der Windrichtung an (±0°; ±22,5°; ±45°: ±67,5°)

L22 H22 L23 H23 L24

Wind in km/h Wind in km/h Wind in km/h Richtung in ° Richtung in °

H24 Richtung in °

b3-b0 Æ 0.1er (0-9) b7-b4 Æ 1er (0-9) b3-b0 Æ 10er (0-15) Æ max.: 159,9 km/h b7-b4 Æ 10er (0-9) b1-b0 Æ 100er (0-3) b3-b2 Æ Schwankungsbreite; 00Æ ±0°; 01Æ ±22,5°; 10Æ ±45°; 11Æ ±67,5° b0 Æ 5° Flag (0 Æ xx0°; 1 Æ xx5°) b3 Æ Neuflag;

Innensensor Der Luftdruck wird im BCD-Format in hPa übermittelt, wobei die 100er Stelle eine Ausnahme bildet, denn sie kann einen Wert >9 annehmen. Ein Luftdruck von 1023 hPa würde als übermittelt. Daraus ergibt sich eine Wertebereich von 0 bis 1299 hPa. Die Temperatur/Feuchte wird wie zuvor beschrieben übermittelt.

L25 H25 L26 H26 L27 H27

Druck in hPa Druck in hPa Druck in hPa Temp Inn in °C Temp Inn in °C Temp Inn in °C

b3-b0 b7-b4 b3-b0 b7-b4 b3-b0 b6-b4 b7 L28 Feuchte In in % b3-b0 H28 Feuchte In in % b6-b4 b7

Æ 1er (0-9) Æ 10er (0-9) Æ 100er (0-12) Æ 0.1er (0-9) Æ 1er (0-9) Æ 10er (0-7) Æ Vorzeichen ; Æ 1er (0-9) (wenn Wert > 9 Æ Sensor ohne Feuchte) Æ 10er-2 (0-7) Æ Neuflag;

Helligkeitssensor Die Helligkeit wird als 3 Digit BCD-Wert (0-999) und einem 2 Bit Faktor (*1, *10, *100, *1000) in lux übermittelt. Daraus ergibt sich eine Wertebereich von 0 bis 200.000 lux.

L29 H29 L30 H30

Hell. in lux Hell. in lux Hell. in lux Faktor

b3-b0 b7-b4 b3-b0 b5-b4 b6 b7

Æ 1er (0-9) Æ 10er (0-9) Æ 100er (0-9) Æ Faktor (0Æ*1; 1Æ*10; 2Æ*100; 3Æ*1000) Æ Sonnenscheinflag; Æ Neuflag;

Pyranometer

1

Die Strahlungsleistung wird als 3 Digit BCD-Wert (0-999) und einem 2 Bit Faktor (*1, *10, *100, *1000) in /10 W/m² übermittelt. Daraus ergibt sich eine Wertebereich von 0 bis 99900,0 W/m².

L31 H31 L32 H32

Leist. in W/m² Leist. in W/m² Leist. in W/m² Faktor

b3-b0 b7-b4 b3-b0 b5-b4 b7

Æ 1er (0-9) Æ 10er (0-9) Æ 100er (0-9) Æ Faktor (0Æ*1; 1Æ*10; 2Æ*100; 3Æ*1000) Æ Neuflag;

Das Neu-Flag gibt an, ob der Sensor in dem Zeitraum zwischen diesem Datensatz und dem vorherigen Datensatz neu empfangen worden ist. Ist dies Flag nicht gesetzt, bedeutet das, dass der Wert identisch mit dem aus dem vorhergehenden Datensatz identisch ist.

Seite 8 von 9

Status abfragen ‘5’ (-Summe) Antwort der Wetterstation: (17 Byte) B1 Status Tempsensor 1 B2 Status Tempsensor 2 B3 Status Tempsensor 3 B4 Status Tempsensor 4 B5 Status Tempsensor 5 B6 Status Tempsensor 6 B7 Status Tempsensor 7 B8 Status Tempsensor 8 B9 Status Regensensor B10 Status Windsensor B11 Status Helligkeitssensor B12 Status Innensensor B13 Intervallzeit in Min B14 B0 : 0 Æ WS2500 Deutsch/ 1 Æ WS2500 English (0Æ ohne HF 1Æ mit HF) B1 : 0 Æ DCF nicht synchron 1 Æ DCF synchron B2 : 0 Æ ohne DCF 1 Æ mit DCF B3 : 0 Æ Protokoll V1.2 1 Æ Protokoll V1.1 B4 : 0 Æ WS2500 1 Æ PC_WS2500 B5 – B7 : frei B15 Versionsnummer B16 B0 – B2 : Sensoradresse Regensensor (0-7) B3 : --B4 – B6 : Sensoradresse Windsensor (0-7) B8 : --B17 B0 – B2 : Sensoradresse Helligkeitssensor (0-7) B3 : --B4 – B6 : Sensoradresse Innensensor (0-7) B8 : --Status der Sensoren : • < 16Æ nicht vorhanden • = 16 Æ OK • 17 .. 255 Æ Anzahl der Empfangsstörung +16

Seite 9 von 9