Autor Thema: EasyE4 -> Modbus -> IOBroker  (Gelesen 12470 mal)

Offline Toru

  • Newbie
  • *
  • Beiträge: 2
EasyE4 -> Modbus -> IOBroker
« am: April 22, 2020, 17:51:43 Nachmittag »
Hallo Zusammen,

ich bin verzweifelt daran zu versuchen meine EasyE4 über ModBus TCP mit IOBroker zu verbinden.

Der Modbus funktioniert generell. Eine aktive Verbindung zu Codesys habe ich bereits schon aufgebaut und funktioniert auch.

Ich bekomme es nicht hin, dass der BUS (TCP) zwischen der Easy und IOBroker läuft. Kurze Verbindung besteht, dann wird taucht in der LOG der Fehler auf, dass sich das Device in Error befindet...

Wenn ich jetzt hingehe und mein Codesys starte, dann läuft der BUS zwischen Easy und Codesys einwandfrei...

-> Hat schon jemand Erfahrung damit gemacht?
« Letzte Änderung: April 24, 2020, 17:26:16 Nachmittag von Toru »

Offline CiesleRa

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 339
  • easyE4 for President
Antw:EasyE3 -> Modbus -> IOBroker
« Antwort #1 am: April 23, 2020, 12:55:49 Nachmittag »
Hi Toru,
ich muß gestehen, dass ich mich mit IOBroker noch nicht so auskenne. Deshalb eine vielleicht nicht wirklich kluge Frage.
Hat der Modbus Adapter im IOBroker auch die Client (Master) Funktionalität? Die easyE4 kann ja "nur" Modbus-Server (Slave).

Viele Grüße
Ralf
Alle von mir bereitgestellten Programme sind reine Beispielprojekte. Die Verwendung erfolgt auf eigene Gefahr. Jegliche Haftung ist ausgeschlossen.

Offline Toru

  • Newbie
  • *
  • Beiträge: 2
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #2 am: April 24, 2020, 17:29:48 Nachmittag »
Hallo,

...warum keine Kluge frage? - ich hab gedacht ich hab es ins allgemeine Forum gestellt und keine "Direkt-Anfrage" - ich bin halt hier auch neu...

ja IOBroker hat auch Master und Slave Funktion. Ich habe mich dort auch schon umgesehen/hört, aber noch nicht auf einen Lösungsansatz gekommen...


Offline Eulhofer

  • Full Member
  • ***
  • Beiträge: 107
  • Man ist nie zu alt neue Dummheiten zu begehen...
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #3 am: August 21, 2020, 19:12:49 Nachmittag »
Hallo,

...warum keine Kluge frage? - ich hab gedacht ich hab es ins allgemeine Forum gestellt und keine "Direkt-Anfrage" - ich bin halt hier auch neu...

ja IOBroker hat auch Master und Slave Funktion. Ich habe mich dort auch schon umgesehen/hört, aber noch nicht auf einen Lösungsansatz gekommen...

Hallo Tori,

Ich glaube CiesleRa meinte, dass SEINE folgende Frage (nach Master) vielleicht nicht besonders klug sei - und nicht deine Frage.

Egal... - bist du denn weiter gekommen? Kannst Du via IOBroker mit der Easy reden?

Ich habe einige Hausfunktionen (Heizung, Solar, Regenwasser etc) via EasyE4 realisiert und setze für Beleuchtung auf "Smarte" Lösungen. Nun würde ich gerne ein paar "Sensor- und Entscheidungswerte" der Easy für die Steuerung der Smartrelais nutzen und umgekehrt ein paar Statusmeldungen der Smartgeräte an die Easy übermitteln.

Und jetzt schwirren mir Sachen wie IFTTT, MQTT, IOBroker, openHAB, FHEM, HTTP-Requests um die Ohren....
Wobei IOBroker der erste "gemeinsame Begriff" ist, den ich in beiden Welten gefunden habe....

Wie ist bei Dir der Stand der Dinge?

Viele Grüße,
Wolfgang
Erste Gehversuche mit der EasyE4 - nachdem ich jahrelang auf der Schneider/Telemecanique TSX-Micro programmiert habe....

Offline sweet

  • Newbie
  • *
  • Beiträge: 1
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #4 am: September 23, 2020, 22:06:23 Nachmittag »
Da klinke ich mich jetzt auch Mal ein.
Ich bin gerade am Easy "lernen" für mein zukünftiges Häuschen.
Ich möchte gern gewisse Dinge per Easy steuern. Das klappt auch schon so wie ich mir das vorstelle. Nun fehlt nur noch die smarte Komponente. Dafür habe ich mich wie Ihr für ioBroker entschieden. Die Verbindung steht, wird mir also in ioBroker als grün angezeigt. Weiter weiß ich aber leider nicht und habe auch im Netz kein Tutorial dazu gefunden wie ich die Ein/Ausgänge bzw Merker fernsteuern kann.

Offline Eulhofer

  • Full Member
  • ***
  • Beiträge: 107
  • Man ist nie zu alt neue Dummheiten zu begehen...
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #5 am: September 30, 2020, 09:55:26 Vormittag »
Nun fehlt nur noch die smarte Komponente. Dafür habe ich mich wie Ihr für ioBroker entschieden. Die Verbindung steht, wird mir also in ioBroker als grün angezeigt. Weiter weiß ich aber leider nicht und habe auch im Netz kein Tutorial dazu gefunden wie ich die Ein/Ausgänge bzw Merker fernsteuern kann.

Hallo,

wenn Du hier unter NodeRed / Node Red suchst, findest Du prima aufbereitete Informationen die easyE4 smart zu machen.

Natürlich geht das auch "nur" über den ioBroker - ist aber wohl ein Stück Arbeit (welche ich mir als "Smart"anfänger auch nicht zutraue).
Am besten den NodeRed-Adapter im ioBroker installieren und dann dort die EasyE4-Nodes. Das funktioniert super und tatsächlich "easy".
Hier im Forum gibts wie gesagt gute Infos zum Download und ich habe auch frisch noch ein paar Infos hinzugefügt, die meine Anfängerschwierigkeiten beschreiben.

Viel Erfolg und viele Grüße,
Wolfgang
Erste Gehversuche mit der EasyE4 - nachdem ich jahrelang auf der Schneider/Telemecanique TSX-Micro programmiert habe....

Offline platin

  • Newbie
  • *
  • Beiträge: 3
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #6 am: März 28, 2021, 07:31:42 Vormittag »
Hallo Zusammen,

ich bin verzweifelt daran zu versuchen meine EasyE4 über ModBus TCP mit IOBroker zu verbinden.

Der Modbus funktioniert generell. Eine aktive Verbindung zu Codesys habe ich bereits schon aufgebaut und funktioniert auch.

Ich bekomme es nicht hin, dass der BUS (TCP) zwischen der Easy und IOBroker läuft. Kurze Verbindung besteht, dann wird taucht in der LOG der Fehler auf, dass sich das Device in Error befindet...

Wenn ich jetzt hingehe und mein Codesys starte, dann läuft der BUS zwischen Easy und Codesys einwandfrei...

-> Hat schon jemand Erfahrung damit gemacht?

Habe das selbe Problem. Hast du schon eine Lösung gefunden?
Ohne Nodered!
Danke
Hannes

Offline CiesleRa

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 339
  • easyE4 for President
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #7 am: März 28, 2021, 15:31:23 Nachmittag »
Hallo zusammen,
ich habe die Modbus Kommunikation zu IoBroker mal getestet.
Mit den Einstellungen, die Ihr in den Bildern im Anhang seht, funktionierte die Kommunikation sehr gut. :)
Die passenden Adressen findet Ihr in der easySoft 7 Hilfe unter dem Thema Modbus-TCP
Ich hoffe, ich kann Euch damit helfen und ihr bekommt es auch hin.

Viele Grüße
Ralf
« Letzte Änderung: März 28, 2021, 15:34:39 Nachmittag von CiesleRa »
Alle von mir bereitgestellten Programme sind reine Beispielprojekte. Die Verwendung erfolgt auf eigene Gefahr. Jegliche Haftung ist ausgeschlossen.

Offline platin

  • Newbie
  • *
  • Beiträge: 3
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #8 am: März 28, 2021, 19:28:43 Nachmittag »
Ich kanns nicht fassen, der Hacken mit den 16 Bit wars!

Vielen, vielen Dank!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Hannes

Offline platin

  • Newbie
  • *
  • Beiträge: 3
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #9 am: April 16, 2021, 01:04:36 Vormittag »
Ich möchte euch meine Erfahrungen nicht vorenthalten:
Eingänge des Easy werden angezeigt  :)
Ausgänge werden Angezeigt  :)
Steuern kann man Merker im Easy, das ist aber nicht so einfach  :o
Die ersten 16 (?) Merker hören im Modbus-Adapter unter Holding Registers auf die Adresse 1001
Unter Objekte - modbus.X - holdingRegisters werden die dann mit EINER 0 angezeigt
Merker M01 = 1
M02 = 2
M03 = 4
M04 = 16  usw.

Wird eine 0 gesendet, sind alle Merker aus
Wird eine 1 gesendet, ist Merker 1 ein
Wird 5 gesendet ist Merker 1 und 4 ein
Sendet man zu 5 eine 16, schalte alles aus und 16 ist an

Um in Vis die Merker zu schalten, lege ich 2 Buttons pro Merker an. EIN und AUS.
In Blockly erstelle ich ein Skript z.B. lese Wert von holdingregisters und füge 4 hinzu um M03 ein zu schalten
Um M03 aus zu schalten lese Wert von holdingregisters und ziehe 4 ab

Das ganze, für jeden Button, den ich brauche.

Wenn jemand eine einfachere Lösung hat, nur her damit  :D

Schöne Grüße
Hannes

Offline Peterfido

  • Newbie
  • *
  • Beiträge: 7
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #10 am: April 16, 2021, 13:12:46 Nachmittag »
Hallo,

Das ist völlig normal. Modbus sendet Word, also 16 Bit am Stück. Daher nutze ich lieber Node Red mit den Easy Nodes von Eaton.

Offline CiesleRa

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 339
  • easyE4 for President
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #11 am: April 16, 2021, 13:28:36 Nachmittag »
Hallo Hannes,
versuche es doch einmal mit einer Maskierung. Damit kann man aus einem Merkerwort ein Bit herausfiltern und sehen, ob
es 0 oder 1 hat.
Die Bilder zeigen einen kleinen Anwenderfunktionsbaustein den man schreibt und den Aufruf im Hauptprogramm.
In dem Beispiel wird abgefragt, ob das Bit 3 in dem Merkerwort 1 ist.

Gruß Ralf
Alle von mir bereitgestellten Programme sind reine Beispielprojekte. Die Verwendung erfolgt auf eigene Gefahr. Jegliche Haftung ist ausgeschlossen.

Offline weiss_nix

  • Sr. Member
  • ****
  • Beiträge: 608
  • it has to be easy, it's a easy!
Antw:EasyE4 -> Modbus -> IOBroker
« Antwort #12 am: April 18, 2021, 07:34:27 Vormittag »
Hallo Hannes,
die Maskierung kannst du mit BV (boolsche Verknüpfung) ebenfalls lösen. Das 3. Bit hat die Wertigkeit "4" und wenn der Ausgang ZE 0 ist, dann ist das 3. Bit gesetzt.
Wie im Anhang ersichtlich ist das 3. Bit nicht gesetzt.

Wenn du die Userfunktion verwendest, könntest du den Code wie folgt schreiben um z.B. Laufzeitfehler zu verhindern ...
// IA01 nach MD01 zuweisen (32 Bit prüfbar)
MD01 := IA01;
// funktioniert auch mit MB und MW ohne Änderung
// es sind dann halt nur 8 bzw. 16 Bit auswertbar


// Prüfen der Bitgrenzen um Laufzeitfehler zu verhindern,
// wenn Bitnummer gültig dem Ausgang den Status zuweisen
if IA02 >= 1 and IA02 <= 32 then
Q01 := M[IA02];
else
Q01 := false;
end_if;
Sollte ich (gefährliches) Halbwissen verbreiten, beuge ich demütig mein Haupt mit der Gewissheit versagt zu haben!
WICHTIG: Sämtliche Programme dienen lediglich der Veranschaulichung von Funktionen und sind nicht für den Produktiveinsatz geeignet!