GM-Zähler Kommunikationsprotokoll

Basierend auf der dänischen Anleitung für den GM-Zähler.

Datenstrom

Das automatische Streaming sendet Daten als Text mit 9600 Bits pro Sekunde. Standardmäßig wird ein Komma zwischen den Werten eingefügt:

  • aktuelle Zählnummer

  • letztes abgeschlossenes Ergebnis

  • Zählzeit

  • Wiederholung (0/1)

  • Fortschritt

  • Spannung

Fortschritt bedeutet hier: Prozentsatz der gewählten Zählzeit. Oder (bei unendlicher Zählzeit): Verstrichene Zeit in Sekunden.

Kommunikationsprotokoll

Die Befehle an das Gerät bestehen aus einem Buchstaben, eventuell gefolgt von einer Zahl. Die möglichen Antworten des Gerätes hängen von dem Befehl ab.

Befehle

Streaming-Steuerung (b)

Bei alleiniger Verwendung gibt der Befehl den Status zurück. Wenn er mit einem Parameter 0-8 verwendet wird, ändert sich die Funktion wie folgt:

Befehl

Funktion

b0

Streaming stoppen

b1

Streaming-Daten senden, wenn die Messung bereit ist

b2

Streaming-Daten jetzt senden

b3

Jetzt senden und fortfahren, wenn bereit (b2+b1)

b4

Daten alle 50 ms senden

b5

Komma zwischen den Werten verwenden

b6

Semikolon zwischen den Werten verwenden

b7

Leerzeichen zwischen den Werten verwenden

b8

Tabulator zwischen den Werten verwenden

Standard: b4 und b5. Wenn beim Einschalten des Geräts Start/Stop gedrückt und gehalten wird, entspricht dies b0.

Beispiel: b1 startet das Streaming, wenn die Messung bereit ist.

Unternehmensinformationen (c)

Rückgabe der Unternehmensinformation als Zeichenkette:

(c) copyright 2020 Frederiksen Scientific A/S

Registerwerte lesen (d)

Rückgabe des aktuellen Wertes aus dem Sekundärregister und Primärregister.

Ergebnisse senden (e)

Wenn der Befehl allein verwendet wird, wird der Status zurückgegeben. Wenn der Befehl mit den Parametern 0-1 verwendet wird, ändert sich der Status wie folgt:

Befehl

Funktion

e0

Zählnummern werden nicht automatisch gesendet

e1

Zählnummern werden automatisch gesendet, wenn jede Zählperiode abgeschlossen ist

Beispiel: e1 aktiviert das automatische Senden der Zählnummern nach jeder Zählperiode.

Zählzeit (f)

Bei alleiniger Verwendung gibt der Befehl die aktuelle Zählzeit in Sekunden zurück. Wenn der Befehl mit den Parametern 0-5 verwendet wird, ändert sich die Zählzeit:

Befehl

Zählzeit

f0

Unendlich

f1

1 Sekunde

f2

10 Sekunden

f3

60 Sekunden

f4

100 Sekunden

f5

300 Sekunden

Andere Zählzeiten sind ungültig. Die Anzeigesymbole werden in Abhängigkeit von der Zählzeit aktiviert.

Beispiel: f3 setzt die Zählzeit auf 60 Sekunden.

GM-Spannung (j)

Bei alleiniger Verwendung gibt der Befehl die aktuelle GM-Spannung in Volt zurück. Wenn der Befehl mit den Parametern 400-700 verwendet wird, wird die GM-Spannung entsprechend gesetzt.

Beispiel: j520 setzt die GM-Spannung auf 520V.

Einzel-/Wiederholungsmodus (o)

Wenn der Befehl allein verwendet wird, wird der Status zurückgegeben. Bei Verwendung des Befehls mit den Parametern 0-1 ändert sich der Modus:

Befehl

Modus

o0

Einzeln

o1

Wiederholung

Beispiel: o1 setzt den Modus auf Wiederholung.

Start/Stopp der Zählung (s)

Wenn der Befehl allein verwendet wird, gibt er den Status zurück (0 = keine Zählung aktiv). Mit einer Zahl kann eine Zählung gestartet oder gestoppt werden:

Befehl

Funktion

s0

Stoppt die Zählung

s1

Startet die Zählung

Beispiel: s1 startet die Zählung.

Lautsprecher (U)

Wenn der Befehl allein verwendet wird, gibt er den aktuellen Status des Lautsprechers zurück. Mit einer Nummer wird der Lautsprecher entsprechend ein-/ausgeschaltet:

Befehl

Funktion

U0

GM-Ton aus - Bereitschaftston aus

U1

GM-Ton an - Bereitschaftston aus

U2

GM-Ton aus - Bereitschaftston ein

U3

GM-Ton ein - Bereitschaftston ein

Beispiel: U1 schaltet den GM-Ton ein, ohne den Bereitschaftston zu aktivieren.

Versionsnummer (v)

Rückgabe der Versionsnummer:

GM-Zähler. Firmware-Version xxxxxxxx

Zählnummern lesen (w)

Liest das Register, in das der Wert aus dem Primärregister nach Ende der Zählzeit kopiert wird. Das Register wird gelöscht, wenn es gelesen wird. Wenn das Register leer ist, wird „-1“ zurückgegeben.

Wichtig: Um sicherzustellen, dass alle Werte übertragen werden, muss dieses Register mit einer Frequenz gelesen werden, die höher ist als die Zählzeitfrequenz.

Implementierung in HRNGGUI

Die HRNGGUI implementiert diese Befehle in der DeviceManager-Klasse (siehe API-Dokumentation), die die serielle Kommunikation mit dem GM-Zähler verwaltet. Jeder Befehl wird durch eine entsprechende Methode gekapselt, um eine benutzerfreundliche API zu bieten.