5 Sekunden Modbus Problem

Merkwürdiger Weise gibt es Server Hersteller, die es nicht wollen, dass man zeitnah Daten oder Zustände per Modbus TCP über ihren Server von Fremdprodukten abfragen kann.

Nicht zu verstehen, wenn man dadurch die Möglichkeiten einschränkt, unflexibel auf neue Produkte reagiert und so Käuferschichten verkleinert.

Warum kauft man sich ein Produkt, dessen Funktionen abhängig vom Hersteller Lieferspektrum sind, eine Modbus TCP steuerbare Klimaanlage nicht einbinden kann.

Abhilfe schafft zum Beispiel das Pokeys Modul dadurch, dass man über UDP seine zuvor im Dashboard erstellten Sensoren, Zustände oder Daten z.B. aus dem Poilshare Data Block sprich Shared Data von PoBlock über die Serverreport Funktion per UDP an den Server schickt.

Dazu muß man wissen, es steht leider nirgends, dass jede Datenquelle einen einzelnen UDP-Port hat.

Also Dashboard Item Nummer 1 sendet auf UDP Port zB 5000 und Item Nr 2 auf 5001 usw.

Noch ist die UDP Datenübertragung => 1 Sekunde, laut PoLabs Entwickler soll es demnächst bei 100ms werden können.

Das macht eine Tasterabfrage möglich, als Übergang kann man sich einen Eingangsimpuls durch einen Taster  auch Abschalt verzögert machen und dadurch in ein Sekunden Fenster bringen.

Ich habe mal in PoBlock ein Beispiel dafür gemacht, es sendet über 3 Shared Data Infos den Zustand von den 24 Eingängen meiner Platine als je 8 Bit Bytes, die dann in der Serversoft die Zustände wieder darstellt, die 8bit stellen je einen Eingang da.

Wichtig: Haken bei Init Funktion sollte weg, damit verändert dieses PoBlock Prg nichts an der Config!

Zum Beispiel: wenn Eingang 1 High ist, dann hat das erste Bit des ersten Shared Datafeld eine Eins, wenn E 2 = High ist hat das 2 Bit des Shared Datafeld eine 2, E 3 –> 3 Bit = 4,

E 4 bringt Bit 4 auf Eins = Dezimal 8 usw

Man kann natürlich auch jeden Eingang einzeln in das Dashboard bringen, mit oder ohne der jetzt über PoBlock gemachten Zeitverlängerung.

Einzeln mit Zeitverlängerung würde dann je ein Shared data auf je einem Q-Ausgang des Off Timers gesetzt werden müssen. Sprich 24 Shared data Items.

udp-bild

dashboard-bild

 

server-report-bild

PS

würde nur zeitkritische Sachen über UDP machen, alles andere per Modbus TCP, wenn es geht
Also Eingänge so zyklisch melden,
Einen Ausgang setzen kann man auch über den Befehl per Browserstring:

 /setDO.html?Pin=23&State=T&u=Username&p=Passwort

Für User und Passwort muß der Username wie im Pokeys Webinterface angegeben mit seinem entsprechenden Passwort rein.

Wichtig ist auch, dass in der Webinterface-Konfiguration die Haken so gesetzt sind, dass das Schalten zugelassen wird.

Ev. kann es mal ein User versuchen, ob nicht auch die Abfrage über die XML-Files des Pokeys57E hilft alles schneller zu erfassen.

In der Smarthome mit Net-IO Beschreibung hatte ich es erwähnt: alle Pokeyszustände werden so ausgegeben, ev. kann man so einen Zustand sofort mit dem Befehl

/devStat.xml

und dem Decodieren der gewünschten Stelle im File erfassen.

***********************************************************************

In der neuesten Pokeys-Beta gibt es in PoBlock ein “UDP Sender Funktionsblock”

Kann über einen Timer oder ein Ereigniss getriggert werden, hat 6 Infoeingänge, an dem Text und/oder Integerwerte angelegt werden können.

Diese werden dann über einstellbare IP-Adresse und PortNr übertragen.

Damit kann man(n) wirklich schnell genug auch Taster einer Installation wieder gut verarbeiten.

Ich hoffe, es gibt auch für das Empfangen von UDP-Daten bald ein UDP Empfänger Funktionsblock, dann könnte man auch Pokeys mit einander vernetzen.

Mit den Parametern im Packet contents kann man die Formatierung setzen, das Schreiben von
In_a=%05a bedeutet 5 Anzeigestellen ohne Komma
in_b=%3.4b bedeutet 3 Vorkommastellen und 4 Nachkommastellen, obwohl ich nicht weiß ob es überhaupt Kommawerte geben kann.
Einfach mal ausprobieren

Ein riesiges Dankeschön an den Entwickler für diese Funktion.

udp-sender

 

Hier die Betaversion, könne noch Fehler drin sein:

https://www.dropbox.com/s/b9762upkgayfmcl/PoKeys_Setup_4_2_21.zip?dl=0

 

 

 

 

Advertisements