Appl_Impuls

Applikation zum Zählen und Auswerten von digitalen Impulsen. (Typische Verwendung: Energieverbrauchsmessung mit Gas-/Wasserszählern)

Funktionsübersicht

  • GesamtImpulse: Gesamtzahl jemals eingetroffener Impulse (wird typischerweise bei der Installation auf den Zählerstand z.B. des Wasserzählers voreingestellt)
  • Gesamtverbrauch (kumuliert): physikalische Größe, die sich aus der Gesamtzahl der Impulse und dem physikalischen Inkrement pro Impuls ergibt.
  • Entprelldauer: Einstellmöglichkeit, um zwischen langsamen/prellenden Signalen und schnellen sauberen Impulsen unterscheiden zu können.

Hardwarevoraussetzungen

Knotenhardware mit digitalem Eingang. Je nach Knotenhardware kann der Impulseingang potentialfrei sein, oder als OpenCollector ausgelegt sein.
Der Impuls muss eine Mindestlänge von >10ms haben, d.h. Maximalfrequenz (ohne Entprellung ist dies 100Hz; ergibt sich aus der Zykluszeit der Verarbeitung im 10ms Task).

Anschlussbeispiel: Wasserzähler

Verbauter Wasserzähler: Sensus Typ 612. Hierfür gibt es einen Impulsgeber (HRI Pulse Unit; Typ: HRI-A1; D=1), der pro durchflossenem Liter Wasser genau einen Puls ausgibt. (Preis: ~75€). Der Aufsatz wird einfach auf den mechanischen Wasserzähler aufgesteckt/geschraubt. Die normale Funktion wird dadurch nicht beeinträchtigt – auch das Zählwerk läßt sich problemlos ablesen. Das elektrische Innenleben des Impulsgebers sieht so aus:

Techn.Daten: Open Collector Impulsausgabe; Vmax=24V; Imax=20mA; Pmax=0,48VA; fmax=5Hz; Max. Spannung bei geschlossenem Schalter: 0,3V + I * 250R. Impulsbreite: fest 124ms.

Leitung Typ HRI-A1
I1 (weiß) saldierte Impulse
I2 (gelb) nicht verwendet

Anbindung an die UKK-Elektronik:
GND: braune Leitung
AIN0: weiße Leitung
externe 10k zwischen AIn und Vcc,ext
Die Verwendung der Analogeingänge ist eigentlich nicht notwendig, Digitaleingänge tun es natürlich auch. Allerdings liegt auf diesem Anschlußstecker praktischerweise die benötigte 5V-Versorgung

Anschlussbeispiel: Gaszähler

Der Gaszähler ist noch einfacher an die UKK-Elektronik anzubinden, da dessen Interface nur aus einem Reedkontakt besteht. Das Plastikgehäuse wird in die vorgesehene Aussparung unterhalb des Zählwerks eingeschoben und rastet dort automatisch ein.
Verwendeter Gaszähler: Fa. Elster
Passender Reedkontakt: Fa. GMT (Impulsnehmer IN-UZ Art-Nr. 041H0127); Preis: 47€
techn. Daten: Kontakte 100V DC und 100mA belastbar;
Arbeitskontakt: braun-grün
Sicherheitskontakt: weiß-gelb
Funktionsweise: In der letzten Stelle des Zählwerks (1l-Stelle) ist an einer Stelle ein Magnet eingebaut, der am Steckplatz des Reedkontaktes vorbeikommt und somit alle 0.01m³ (=10l) den Reedkontakt kurzschließt.

Design und Implementationsdetails

Zyklisches Einlesen alle Digitaleingänge, ggf. entprellen und aufaddieren der Anzahl steigender Flanken.

DoTable Impuls (DoType 0x19)

DoSi Beschreibung Typ/
Länge
Ort Min/Max
/Default
Auflösung
/Einheit
Datenart
0x00 GesamtImpulse
u32 EEP
-/-/0
1/- Lcfg, Bw, Br
0x01 Gesamtverbrauch
(kumuliert; physikalisch)
u32
RAM
-/-/0
0.01/-
Ctl, Bw, Br
0x10 SensorAktiv u8 EEP 0/1/0
Cfg, Bw, Br
0x11 Entprelldauer
u8 EEP 0/2550ms
/40ms
10/ms Cfg, Bw, Br
0x12 PhysInkrementProImpuls
[0.01]
u16 EEP 0/655.35
/100 (=1.0)
0.01/- Cfg, Bw, Br

Der DotParameter „PhysInkrementProImpuls“ bestimmt um wie viele Teilschritte/“Ticks“ der „Gesamtverbrauch“ pro erkanntem Impuls erhöht wird.
Skalierung in [0.01], d.h. der Defaultwert von 100 liefert 1.0-Schritte pro Impuls

BoTable Impuls (DoType 0x19)

BoIndex: <ImpulskanalNr.>
Zykluszeit: 10000ms (bei Änderung sofort);
Sperrzeit (Inhibittime): 100ms
Datenlänge: 8Byte
Hinweis: alle 10s/AnzImpulskanäle wird ein BO verschickt, d.h. bei 5 konfigurierten Kanälen, werden alle 2s ein BO verschickt; derselbe Kanal wiederholt sich aber nur alle 10s

Byte
Beschreibung
Byte0 Gesamtimpulse MSB
Byte1 Gesamtimpulse
Byte2 Gesamtimpulse
Byte3 Gesamtimpulse LSB
Byte4 Gesamtverbrauch (physikalisch) MSB
Byte5 Gesamtverbrauch (physikalisch)
Byte6 Gesamtverbrauch (physikalisch)
Byte7 Gesamtverbrauch (physikalisch) LSB