Autor Thema: Easy E4 Modbus TCP Anbindung an Loxone  (Gelesen 2277 mal)

Offline Bananajoe

  • Newbie
  • *
  • Beiträge: 2
Easy E4 Modbus TCP Anbindung an Loxone
« am: November 28, 2021, 22:11:11 Nachmittag »
Hallo zusammen,

ich spiele momentan mit dem Gedanken eine Easy E4 Kleinsteuerung als Haussteuerung zu verwenden. Als "smarte Komponente" würde ich gerne einen Loxone Miniserver ins Boot holen. Ich habe es relativ schnell geschafft mein Testgerät (Easy E4-DC-12TC1) mit einem Loxone Miniserver Go Gen. 1 per Modbus TCP zu verbinden und den Status von Eingängen, Ausgängen und Merker auszulesen. Nun zu meinem Problem: Ich schaffe es nicht Ausgänge über die Loxone anzusteuern. Soweit ich es in der Anleitung richtig verstanden habe muss ich hierbei den Umweg über Merker gehen, jedoch verstehe ich hierbei die Umwandlung von den ansteuerbaren Merkerwörtern? auf Merker nicht, beziehungsweise bekomme es nicht hin. Ich muss gestehen, dass ich bei beiden Geräten relativer Neuling bin, Easy hatte ich zwar in der Berufsschule und in der Meisterschule (jedoch die "alten Geräte" unter Easy Soft 6) und Loxone hatte ich 2x mal Schulung von der Arbeit aus. Bei der Loxone kann ich bei den Modbusbefehlen zwischen 5 - Write Single Coil, 6 Preset Single Register, 15 Force Multiple Register und 16 - Preset Multiple Register auswählen. Je nach dem ob ich beim Merker den Modbusausgang in der Loxoneconfig als Digital- oder Analogausgang setze kann ich neben dem Modbusbefehl noch folgende Einstellungen vornehmen, beziegungsweise folgende Haken setzen (nur bei Analogausgang):
-Datentyp: 16-bit unsigned integer, 16-bit signed integer, 32-bit unsigned integer, 32-bit signed integer, 32-bit floating point, 64-bit unsigned integer, 64-bit signed integer und 64-bit double
-Auswahlkasten zum anhaken "16-bit Register": In Loxone wie folgt beschrieben: Wenn angehakt, werden 16-bit Register verwendet. Für 32-bit Werte werden dadurch 2 Register gelesen, bei 64-bit Werten 4 Register. Ist die Option nicht angehakt, verwendet das Gerät Register in der Größe des konfigurierten Datentyps.
-Auswahlkastern zum ankaken "Registerreihenfolge": In Loxone wie folgt beschrieben: Wenn nciht angehakt, dann wir LowWord/HighWord verwendet (niederwertigstes Register zu erst)
-Auswahlkasterm zum anhaken "Byte-Reihenfolge": In Loxone wie folgt beschrieben: Wenn nicht angehakt, dann wird HighByte/LowByte verwendet (BigEndian)

In der Easy Soft 7 wurde unter Projekt und dem Reiter Modbus der Haken für Modbus TCP Server aktiv gesetzt und die MW01-512 + NW01-512 freigegeben. Vielleicht kann mir hier wer weiterhelfen und mir sagen wie ich Besagtes hinbekomme  :D

Vielen Dank schon mal!

Gruß,
Bananajoe



Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 709
  • Think easy!
    • mollgruppe
Antw:Easy E4 Modbus TCP Anbindung an Loxone
« Antwort #1 am: November 29, 2021, 08:26:07 Vormittag »
Hallo Bananajoe,
du kannst in der E4 die Zuweisung der Merkerbits aus dem beschriebenen Merkerwort machen.
zB: deine digitalen Befehle kommen über MW28 rein (FC6 Modbusregister 1028), dann kannst du mit der Zuweisung Q01:=MW28[1]; oder auch gleichertig Q01:=M433; den Ausgang schalten.
Die Modbusadressen sind im Handbuch Kap.10.11 beschrieben.
Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline Bananajoe

  • Newbie
  • *
  • Beiträge: 2
Antw:Easy E4 Modbus TCP Anbindung an Loxone
« Antwort #2 am: November 29, 2021, 20:43:47 Nachmittag »
Hallo radar17892,

vielen Dank schon mal für deine Antwort, leider kann ich noch nicht recht viel damit anfangen :-D
Wie meinst du das mit der Zuweisung? Wo kann ich das machen? Ich habe in meinem Testprogramm parallel zu einem Eingang einen Merker auf einen Ausgang gelegt und die Spulenfunktion auf Stromstoß gesetzt (Programmiersprache EDP). Ist das als Zuweisung gemeint oder kann ich das noch wo anders einstellen? Die Modbusmap habe ich bereits gefunden, mit der habe ich es einwandfrei hinbekommen Eingänge und Ausgänge zu lesen, jedoch scheitert es eben momentan noch am Ansteuern der Merker.
Entschuldigung für die vielleicht dummen Frage aber ich bin relativer Neuling mit der Easy :-)
Im Handbuch habe ich auf Seite 145 noch eine "Formel" gefunden in der ich ausrechnen kann mit welchem Merkerwort ich welche Merker ansteuern kann. Sehe ich das richtig, dass wenn ich zum Beispiel M137 ansteuern will ich MW9 auswählen muss? (137:16~9)

Gruß,
Bananajoe

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 709
  • Think easy!
    • mollgruppe
Antw:Easy E4 Modbus TCP Anbindung an Loxone
« Antwort #3 am: November 29, 2021, 21:23:51 Nachmittag »
Wenn ich das richtig verstehe, willst du die E4 nur als I/O Modul benutzen und die Eingänge der E4 lesen bzw die Ausgänge beschreiben über Modbus.
Da du die Ausgänge nicht direkt beschreiben kannst, schreibst du in ein Merkerwort der E4. Im E4-Programm musst du die Bitmerker dieses Merkerwortes mit den Ausgängen Qn verknüpfen (zuweisen). Wie das aussieht hängt ganz von der verwendeten Programmiersprache ab. Hab dir mal ein Bild angehängt wie es in KOP (ähnlich EDP) aussieht. Über Projekt->Merkerbereichsbelegung, kannst du dir die verwendeten Merker übersichtlich ansehen und verstehst auch welche Merker sich in welchem Byte/Wort befinden.
Weil Einfach einfach Einfach ist!

Offline CiesleRa

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 315
  • easyE4 for President
Antw:Easy E4 Modbus TCP Anbindung an Loxone
« Antwort #4 am: November 30, 2021, 09:30:41 Vormittag »
Hallo Bananjoe,

erstmal was allgemeines. Bitte versuche dich mit einer anderen Programmiersprache vertraut zu machen. EDP ist veraltet und beraubt dich vieler Möglichkeiten.

Wenn Du wissen willst, in welchem Modbus Register dein Merker 137 liegt, ist für mich die einfachste Methode, den Variablen-Export unter dem Reiter Modus-Server zu nutzen.
Darin werden deine im Projekt verwendeten Variablen angezeigt. Die Exportdatei hat die Endung *.itf. Daran muß man sich nicht stören. Einfach mit einem Texteditor öffen.
Beigefügtes Beispiel (Bild) zeigt dir dann, das M137 im Register 1009.0 liegt. Dort sind die Merker 129 bis 144 abgelegt. M137 wäre also 1009.8 .

Ich habe kein Loxone Gerät, deshalb kann ich es nicht ausprobieren. Trotzdem habe ich mir mal die Software geladen und einen Modbus Teilnehmer hinzugefügt. Das Bild zeigt,
welche Einstellunge ich mal probieren würde. Wenn es funktioniert, sollten die Merker 1 und 2 schalten. Wenn nicht wird es aktuell mit der easyE4 schwierig.
Den Functioncode "5-Write single coil" versteht die easyE4 aktuell nicht.   

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