PoKeys57E 55 - Digitale Ein und Ausgänge, div Fühler via UDP an LOXONE koppeln

PoKeys57E 55 - Digitale Ein und Ausgänge, div Fühler via UDP an LOXONE koppeln

IN ARBEIT

Der PoKeys57E ist ein Modul mit div I/O's, Fühlern incl der Möglichkeit einer Speicherprogrammierbaren Steuerung (SPS) mit Ethernet Anschluss, dieses Bord wird von PoLabs entwickelt.

Die Key- Features:

  • 55 Digitale In und Outputs

  • Eingänge 5V Tolerant, d.h. Ein Eingang kann wie üblich statt 3.3 Volt auch direkt mit 5 V Beschaltet werden ohne Schaden zu nehmen.

  • 7 Analoge 0-3,3 Volt 12 Bit Eingänge (0- 3,3V entspricht 0 bis 4094).

  • I2C Bus an Bord.

  • PoBus an Bord (Ähnlich den Loxone Extensions).

  • mehrere 1-wire 18x20-Bus-Pin und DHT2x Feuchte/Temperatur Anschlüsse möglich.

  • diverse Sensoren schon implementiert zB. DHT21, Lichtsensor, analoge IC's

  • RTC (real-time clock) Echtzeituhr (Batteriegepuffert 3 Volt CR1220).

  • Spannungsausfall sichere- Funktionen (Batteriegepuffert 3 Volt CR1220).

  • grafisch programmierbare SPS mit zB PID-Reglern, Limiter, Multiplexer, Bit-Byte, Byte-Bit ... Ram-Speicherstellen, "Merker" über Modbus TCP

  • und vieles anderes...

 

Bild 1. Quelle: https://www.poscope.com/PoKeys57E

 

Arbeitsschritte für die Kopplung Pokeys ↔ Miniserver mittels UDP


Warum UDP?

Das User Datagram Protocol, kurz UDP, ist ein minimales, verbindungsloses Netzwerkprotokoll, das zur Transportschicht der Internetprotokollfamilie gehört. UDP ermöglicht Anwendungen den Versand von Datagrammen in IP-basierten Rechnernetzen.

Die Entwicklung von UDP begann 1977, als man für die Übertragung von Sprache ein einfacheres Protokoll benötigte als das bisherige verbindungsorientierte TCP. Es wurde ein Protokoll benötigt, das nur für die Adressierung zuständig war, ohne die Datenübertragung zu sichern, da dies zu Verzögerungen bei der Sprachübertragung führen würde. ...

UDP ist ein verbindungslosesnicht-zuverlässiges und ungesichertes wie auch ungeschütztes Übertragungsprotokoll. Das bedeutet, es gibt keine Garantie, dass ein einmal gesendetes Paket auch ankommt, dass Pakete in der gleichen Reihenfolge ankommen, in der sie gesendet wurden, oder dass ein Paket nur einmal beim Empfänger eintrifft. Es gibt auch keine Gewähr dafür, dass die Daten unverfälscht oder unzugänglich für Dritte beim Empfänger eintreffen. Eine Anwendung, die UDP nutzt, muss daher gegenüber verlorengegangenen und unsortierten Paketen unempfindlich sein oder selbst entsprechende Korrekturmaßnahmen und ggfs. auch Sicherungsmaßnahmen vorsehen

Quelle: Wikipedia

Durch die Einschränkung der ModbusTCP Funktion ab Firmware V8.1.11.11 (PoKeys57E 55 - Digitale Ein und Ausgänge, div Fühler via ModbusTCP an LOXONE koppeln. oder Modbus TCP- und RTU-Schnittstelle) ist die Idee entstanden, die Zustände der Eingänge über UDP an den Miniserver zu schicken. Dabei hat man keine Einschränkung wie den minimalen Abfragezyklus von 5s bei ModbusTCP. Für kritische Signale, sollte dies nicht verwendet werden, da es sich hier um ein ungeschütztes Übertragungsprotokoll handelt. (siehe Info oben)

In der aktuellen Version PoKeys v4.2.19 ist das versenden von UDP Daten nur mit Hilfe der Shared Data Slots möglich. Bereits in der aktuellen Beta v4.2.21 sind neue UDP Send Blöcke hinzugekommen und in den neusten Versionen wird man von Loxo Befehle und Abfragen per UDP an das Pokeys57E Modul senden können.

In diesem Artikel werden beide Wege beschrieben falls man die Betaversion nicht nutzen möchte. 


Konfiguration mit Hilfe von Shared Data

Die folgende Konfiguration sollte gewählt werden, wenn man die Betaversion nicht nutzen möchte.

Schritt 1: Installation der PoKeys Konfigurationssoftware

Für die Konfiguration des PoKeys ist eine Konfigurationssoftware des Herstellers nötig und kann von der Herstellerseite heruntergeladen werden:

  • Software herunterladen und installieren Link zur Downloadseite

  • Aktuellste Version zum Zeitpunkt der Artikelerstellung "PoKeys v4.2.19 Configuration and PoBlocks (21.12.2016).exe (38.2 Mb)"


Schritt 2: PoKey Netzwerkeinstellungen anpassen

  • Den PoKey mit Spannung versorgen und mit dem eigenen Netzwerk verbinden.

  • Wenn ein DHCP Server vorhanden ist, bekommt der PoKey eine IP Adresse zugewiesen.

  • Nach dem Starten der Konfigurationssoftware wird der PoKey automatisch gefunden. Anschließend auf "Connect" drücken.

    Bild 2: Automatisch gefundener PoKeys

Über "Device / Network device settings.." kann eine feste IP und Gateway vergeben werden. Die Gateway IP ist nur wichtig, wenn eine Kommunikation über mehrere Netzwerke stattfinden soll (z.B. Heimnetzwerk → Internet)

Bild 3: Netzwerkeinstellungen vom PoKeys

  • Falls mehrere PoKeys zum Einsatz kommen, kann zusätzlich  noch über "Change user ID" und "Change device name" der PoKey eindeutig benannt werden


Schritt 3: I/O Konfiguration anpassen (Optional)

Dieser Schritt ist nicht unbedingt nötig, da die Einstellungen später in einem anderen Programm gemacht werden.

 

  • Als nächstes muss festgelegt werden, welcher I/O Kanal als Ein- bzw. Ausgang verwendet werden soll. Da ich meinen PoKey auf der 24 In / 24 Out Adapterplatine von Helmut Holm habe, ist bei mir die Belegung schon vorgegeben. Auf dem Screenshot sind die ersten 16 Kanäle schon konfiguriert.

    Bild 4: I/O Konfiguration für einen Teil der digitalen Eingänge

    Man wählt den entsprechenden Pin aus (hier Pin 1 ausgewählt) und stellt diesen auf "Digital input". Möchte man in Loxone den unbeschaltenen Pin als inaktiv sehen, muss noch der Haken bei "Invert pin" gesetzt werden. Der Eingang ist im Ruhezustand über einen Pull-Up Widerstand auf High-Pegel.

  • Mit "Send to device" werden die Einstellungen übertragen.

Drückt man F4 oder geht auf "Peripherals / Digital Input and Outputs" kann man die Funktion der Eingänge testen. Aktive Eingänge werden Grün dargestellt.

Bild 5: Eingang 2 aktiv Bild 6: Eingang 2 inaktiv


Schritt 4: PoKeys UDP Kommunikation einstellen

  • Um die ersten leeren Daten senden zu können, öffnet man "Device / Web interface configuration" und stellt die folgenden Sachen ein.

Bild 7: Shared Slot Settings

  1. Add new

  2. Item caption / Data source / Display type / Data unit / Min value einstellen wie auf dem Screenshot. Item caption kann frei gewählt werden.
    Data Source ist ein Shared Memory. Auf diesen kann per UDP zugegriffen werden. Wir beginnen hier mit dem ersten Speicherbereich "Shared slot 1". Dieser wird später in PoBlocks S0 benannt. Leider zählt die Konfigurationssoftware von 1 bis X und PoBlocks von 0 bis X-1.

  3. Acces rights wählt man "Server reports" aus. Ohne diese Einstellung werden keine Werte gesendet.

  4. Über "Send to device (without saving) wird die Konfiguration temporär auf den PoKey gespeichert.

  • Als nächstes drückt man auf "Open report server configuration" und es öffnet sich folgendes Fenster.

Comments