e!COCKPIT und das Bytefeld im HTTP_POST_2 Baustein

Wie ich in meinem EnOcean Smarthome Tutorial bereits angekündigt hatte, möchte ich die das Programm auf einen aktuellen PFC100 Controller übertragen. Das bedeuted ein Umstieg von Codesys2.3 auf die aktuelle Wago e!COCKIT Programmierumgebung.  Da solch ein Umstieg nicht reibungslos und mit kopieren/einfügen funktioniert war mir bereits klar. Wago hat jetzt kleine Umstellungen in den Bausteinen vorgenommen, die eine Anpassung meines Programms erfordenrn.

Auf diese kleinen Herausforderungen auf die ich dabei stoße, möchte ich hier gleich hinweisen. Vielleicht kann es der ein oder die andere bereits jetz gebrauchen.

Aus datenschutzrechlichen Gründen benötigt YouTube Ihre Einwilligung um geladen zu werden. Mehr Informationen finden Sie unter Datenschutzerklärung.
Akzeptieren

Was ist eigentlich passiert? In meiner ursprünglichen Anwendung verwende ich einen Byte Stream um meine Enocean Sensordaten, die in den Merkerwörtern bzw Modbus Registern liegen an einen Server zu senden. Diese Server speichert dann die empfangenen Daten in einer Datenbank.

In der aktuellen e!Cockpit Version 1.10.0.1 verhält sich der Baustein aber so, dass sobald der Wert 0 in einem Byte auftaucht, die Übertragung an dieser Stelle beendet wird.

Nach einigen Überlegungen habe ich einen Ansatz gefunden indem ich alle Bytewerte 0 durch einen Wert >0 ersetze und ein Kontrollbyte anhänge, indem gespeichert ist, welche Bytes auf dem Server wieder in eine 0 zurückgwandelt werden müssen.

Meine Lösung dazu erkläre ich in diesem Video