MQTT - Datenaustauschprotokoll - Baustein gesucht

Begonnen von stm, 05. Januar 2017, 13:20:27

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

stm

Hallo,

ich suche eine Baustein um Daten von der Beckhoff Steuerung auszusenden (und evtl auf empfangen Events zu reagieren)

Dazu gibt es in der IoT (Internet of Things) Welt das MQTT Protokoll.
https://de.wikipedia.org/wiki/MQTT

Ich möchte es verwenden, um verschiedene Geräte in Heimautomatisierung zu verbinden (da gibts vieles hin bis zu Sonos...)

Für das neue Twincat 3 scheint es eine Bibliothek von Beckhoff zu geben, leider nicht für Twincat 2.

Einen freien Baustein für Codesys habe ich gefunden, der ist allerdings für Wago.
https://github.com/FieldFox/Codesys-Mqtt-lib
(Als Zip Datei angehängt)

Ein MQTT-Client Baustein wäre sicher eine Bereicherung für die OSCAT, ich weiss allerdings nicht, ob die GNU Lizenz des obigen Bausteines eine Anpassung und Aufnahme in OSCAT erlaubt.

Daher erst mal die Frage, wer mit bitte mit einem Hinweis helfen kann, was ich an dem Baustein für Twincat 2 anpassen muss.

Schönen Dank.


[gelöscht durch Administrator]

peewit

alles was mit der eigentlichen ethernet kommunikation zu tun hat ist 100% inkompatibel

stm

inkompatibel mit den Ansatz der in OSCAT gewählt wurde oder inkompatibel, so dass es auf der Beckhoff TCP/IP Bibliothek nicht zum Laufen zu bekommen ist?

Wenn letzteres: gibt es irgendwo einen Vergleich der Routinen der TCPIP Bibliothek von Beckhoff und WAGO?
(mit Google nichts gefunden...)

peewit

OSCAT hat den einzigen kompatiblen ansatz

den innerhalb von OSCAT-Network gibt es den Baustein IP_CONTROL der genau diese unterschiede kapselt

dein problem ist nun die Funktionalität der WAGO Lösung auf beckhoff umzubauen

dabei wäre es wahrscheinlich einfacher gleich den weg von oscat über den ip_control baustein zu nehmen

wenn du aber mit keinen der TCP/IP Systeme wie  IP_CONTROL von OSCAT, Beckhoff und  wago vertraut bist dann ist dass eine eher schwierige aufgabe für dich


was die unterschiede genau sind das kannst du dir innerhalb von oscat ansehen
du schaust dir den IP_CONTROL der Twincat oscat-Network an und den IP_CONTROL der codesys oscat-Network an

dann wirst du sehen das es hier nicht viel ähnlichkeiten gibt

Allerdings ist meines wissens das MQTT Protokoll für beckhoff ein teil von industrie 4.0
und sollte in aktuellen controller mit twincat 3.x unterstützt werden

frag mal bei dienen lokalen dealer nach !

stm

ja im TWINCAT 3.0 ist es zu haben.

Da ist es wohl über ein separetes Programm auf dem Controller gelöst, das über ADS kommuniziert.

Leider soll es das für TWINCAT 2 wohl nicht geben (und von dem komme ich wg. meiner BUILDING Automation Lösung nicht weg)
never touch a running system without need...

annD

Ich würde es auch zielführender sehen, den Funktionsblock für MQTT gleich auf dem Oscat IP_CONTROL aufzusetzen. Er ist dann relativ plattformunabhängig und kann auch gleich auf dem "neutralem" Codesys v3.5 eingesetzt werden. Er benötigt dann keine zusätzlichen Librarys oder Tools von Beckhoff oder Wago.

bbking

so ein Baustein würde auch mich interessieren!
Gibt es irgendwelche Ansätze schon?

SG

blubbi

das würde mich auch sehr interessieren. Hat da jemand schon eine Idee?

david

I had a quick look at the protocol description, it does not seem to difficult to implement, one just needs time... On the other hand, how data is send is not defined, so we should find a way how to implement this generic format in the plc.

Stefan1

Hallo,

ich habe da mal was vorbereitet...

https://github.com/stefandreyer/CODESYS-MQTT

Benutzt auch einige OSCAT Komponenten, hierfür auch vielen Dank!

Grüße Stefan

bmshine

Hallo Stefan,

ich habe mal dein MQTT Baustein geladen und den Beispielprogramm ausprobiert. Leider funktionier nur die TLS Variante.
Die ohneTLS Variante verbindet sich weder auf test.mosquitto.org noch meinen lokalen MQTT server.
Muss ich bestimmte Versionen von den LIB's laden oder funktioniert es auch mit den neusten?
Aktuell verwende ich Codesys 3.5 SP13 Patch2.

Gruss Markus



Omalik

Hat das jemand zum laufen gebracht auf einer BECKHOFF Steuerung?
Danke für Feedback.

vetje

Hallo,

nochmal die Frage nach einer Lösung für Twincat 2 ?

Hat da schon jemand hinbekommen?

VG
  Vetje

WimmerM

Hallo, was willst du überhaupt machen?

Ich habe einen CX1020 in meinem Haus, an diesem hängt die gesamte Beleuchtung, Schalter, und Jalousien, Wohnraumlüftung, ...
Um mit anderen Geräten kommunizieren zu können (z.b. Esp8266 mit SHT21 über Mqtt, oder Marantz AV Receiver oder Harmony Hub) verwende ich einen Raspberry Pi als Gateway auf diesem habe ich OpenHab2 darauf - für das gibt es fast jedes Plugin zudem kannst du dir daraus leicht eine App für IOs oder Android bauen. Die Kommunikation zwischen dem Pi und dem CX habe ich über HTTP realisiert, was aber auch über Modbus TCP funktionieren würde...

Der Pi dient zudem noch als Datenbank (MySql), aus der SPS wird diese beschrieben...

Gruß
Markus


tobifenny

Hallo,

WimmerM wie hast du die Kommunikation von Openhab und Beckhoff gemacht? Könntest du da eventuell mal ein Beispiel zeigen. Am besten, wie es in Openhab und in Beckhoff aussieht.

Ich benutze auch beide Systeme (Hauptsächlich wegen Alexa), habe die Systeme aber über Modbus verknüpft. Da kommt es vor allem bei Analogwerten aber manchmal zu Problemen.

Auch ein MQTT-Baustein für TwinCAT2 würde mich Interressieren.