Lox2Wago - Loxone und Wago verbinden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    #16
    Hi,

    nach etwas etwas rumbasteln habe ich es am laufen, Loxone als Modbus TCP Master einer Wago 881 Modbus Slave Wago.
    Ich halte UDP nur für eine Notlösung. in der Industrie haben wir seit Jahrzehnten Modbus TCP im Einsatz ohne Probleme... UDP ist für die Unterhaltungsindustrie ohne Schwerpunkte auf Redundanz und Sicherheit

    Istzustand bisher habe ich als bestehende Infrastruktur eine KNX Klemme in der Wago. Wenn ich die Zentralbefehle über Loxone auf KNX zur Wago sende ist es irgendie nicht so wie ich das gerne hätte.
    20 Rolladen starten dauert so 2 Sekunden. Alles licht im Haus an 3 Sekunden.

    Das liegt einfach daran das der Zentral Befehl über die KNX Klemme mit 9600 Baud und Handshake nach jedem Befehl total langsam ist.

    Wenn ich über Modbus das Prozessabbild der Ausgänge bei Veränderung oder zyklisch alle 5 Sekunden übertrage bin ich im Bereich von mS
    Ich bin mir was am überlegen...
    Ich möchte es aber direkt richtig machen, ich habe bei mir 64 Ausgänge, sind als 4 Wörter zu übertragen. Ich möchte nicht jeden Coil einzeln bearbeiten, ich möchte das komplette Word nutzen.

    Bisher hab ich nur den Binärencoder für 1 Byte gesehen.

    Hat jemand Erfahrung in der Umwandlung?

    Kommentar


    • crasythom
      crasythom kommentierte
      Kommentar bearbeiten
      Hi Belu,
      das mit der Anzahl der Programme stimmt nur teilweise. Ja, Programme sind begrenzt. Nein, für High und Low Byte werden Formel-Bausteine verwendet. Hier ist mir keine Begrenzung bekannt. Wie hast du das mit den Eingängen gelöst?

    • Gast
      Gast kommentierte
      Kommentar bearbeiten
      Hi Crasythom,

      ich habe keine Eingänge auf der Wago, Deshalb benötige ich das eigentlich nicht wirklich.

      Mein Konzept Bisher.

      Eingänge = Dezentral KNX / EIB ( Taster / Wetterstation )

      Ausgänge = Zentral in der Hauptverteilung im Keller, alles von einer Wago auf Koppelrelais geführt. Verbunden mit der Loxone über eine 646 KNX Klemme

      Loxone = Logik und Visualisierung

      Analoge Eingänge / Temperaturen = OneWire, laufen auf der Loxone zusammen

      Dann hab ich noch einen FHEM Server die die Heizungs Plottet.

      Das läuft bisher stabil und super. Schwachpunkte sind die Geschwindigkeiten beim KNX. Habe die Zentralfunktionen alle in der Loxone gelöst. Soll heißen Rolladen / Jalousie ab startet er alle einzeln. Dadurch ergibt sich bei 20 Fenster eine Startverzörgerung von 3 Sekunden. Finde ich echt unschön.
      Noch dazu bekomme ich die Infos vom FHEM Server nicht auf KNX.

      Jetzt habe ich mich in ModBus eingelsen. Expirimente gemacht. Jetzt werde ich das alles umrüsten.

      Ausgänge direkt per Loxone schalten, geht direkt über die Modbus TCP Funktion. Keine verzögerung, Keine Indirekte Projektierungen mehr....
      Alle Infos der Heizung in der Loxone...

    • Gast
      Gast kommentierte
      Kommentar bearbeiten
      Crasy, ich habe die Umwandlung, es ist wirklich um einiges schneller, bin gerade am versuchen Word bzw auf Doppelword noch mehr raus zu kommen. Die Verzörgerung ist die selbe ob ich 1 Bit oder 1 Doppelwort übertrage.Ich poste es später mal..
  • Gast

    #17
    Hallo Cali,

    Kein Problem.
    Vielen Dank für deine Unterstützung.
    Schönes Wochenende.

    Gruß
    Andreas

    Kommentar

    • Gast

      #18
      Hi,

      Ich habe es nun am laufen Modbus TCP / IP extrem schnell.....

      Vorher Loxone KNX Wago Zentralbefehl von Loxone generiert alles an >=3 Sekunden

      Jetzt Loxone Modbus TCP / IP Zentralbefehl von Loxone generiert alles an <=50 mS


      Zentralbefehl alles an heißt ich steuere von der Loxone 48 Einzelbefehle zur Wago die diese dann einschaltet.

      Über Modbus Übertrage ich 3 Wörter inkl CRC Check, also eine höhere Sicherheit wie bei KNX.


      Habe es momentan im paralell Betrieb am laufen falls sich da die nächsten Tage noch ein Problem ergeben sollte.

      LG

      Belu



      Zuletzt geändert von Gast; 17.01.2016, 12:05.

      Kommentar

      • cali
        Smart Home'r
        • 28.08.2015
        • 63

        #19
        Hallo Belu,

        hört sich interessant an. Verstehe ich das richtig, dass du die Ausgänge der Wago zusammengefasst in Wörtern steuerst? Wie hasst du das in Loxone programmiert?
        Kannst Du Deine Lösung genauer beschreiben?

        Viele Grüße
        Cali

        Kommentar

        • Gast

          #20
          Hi,

          Also ich habe es so gelöst.

          1 Word sind 16 Bit. Die 16 Bit sagen Dual ne Wertigkeit von 0 - 65535

          16 Bit zusammengefasst in 4 Formeln ergeben Addiert eine Wertigkeit.

          Wir haben das LowByte und das Highbyte.

          Low Ist Dual 0 - 255

          1 2 4 8 18 32 64 128

          High geht es so weiter siehe Formeln.

          Low 1 - 4 = (I1*1+(I2*2+(I3*4+(I4*8))))
          Low 5 - 8 = (I1*16+(I2*32+(I3*64+(I4*128))))
          High 9 - 12 = (I1*256+(I2*512+(I3*1024+(I4*2048))))
          High 13 -16 = (I1*4096+(I2*8192+(I3*16384+(I4*32768 ))))


          Diese 4 Formeln addiere ich, das ergibt eine Ganzzahl von 0 - 65535 jedes Bit hat eine einmalige Zuordnung.
          Das schreibe ich dann von Loxone aus als Preset Single Register also ein Word.

          In der Wago befindet sich das MW0 im Modbus Register 12288. Dort schreibe ich es hin.

          In der Wago selbst arbeite ich direkt mit den Bit. MX0.0 - MX0.15

          Er schreibt also 1 Word mit Prüfsumme schneller als voher 1 KNX Befehl mit Bestätigung.
          Bzw. er schreibt sogar 5 Worte noch schneller mit Prüfsumme als 1 KNX Befehl. Modbus ist schneller als der Wago Zyklus.

          Kommentar


          • Gast
            Gast kommentierte
            Kommentar bearbeiten
            Die Datenmengen die da übertragen werden sind kein Thema.

          • Gast
            Gast kommentierte
            Kommentar bearbeiten
            Könnte man da nicht auch auf einen reinen Feldbuskoppler setzten? WAGO 750-352 z.b.?

          • Gast
            Gast kommentierte
            Kommentar bearbeiten
            Hi,

            ich arbeite mit Feldbuskopplern leider nicht, Ich sage mal nein weil erst ein Wago Master die Systemklemmen einbinden muss, ich Adressiere ja im Merkerbereich und die SPS setzt mir die Ausgänge. Es gibt die Möglichkeit die Modbus Aus und Eingänge direkt zu adressieren, aber das geschieht über einen Wago Modbus Master. Siehe Diverse Modbus Wago Anleitungen. ab IX / QX 256 sind PFC Flüchtige Ein und Ausgangsvariablen zu setzen.

            Kann dir also keine kontrete Aussage geben. Bestell einen und ich sende dir ne 8XX CPU zum testen...
        • blacksun
          MS Profi
          • 20.01.2016
          • 575

          #21
          Hallo,

          ich bin neu hier. Ich lese schon eine ganze Weile hier mit. Ich möchte heute Haus bauen und bin noch auf der Suche nach einer Automatisierungslösung.

          Ich habe mir bereits einen Miniserver und einen Wago Buscontroller 750-849 (E/As vorhanden) zugelegt. Bisher bin ich noch auf der Suche nach einer TP1 KNX Klemme 753-646. Meine Taster/Sensoren sollen über KNX angeschlossen werden. Die Logik soll hier dann der Miniserver machen. Bisher war ich der Meinung, das das die beste Lösung ist. Allerdings lese ich, das es dann bei Zentralbefehlen Geschwindigkeitsprobleme geben kann.

          Ich möchte nun die Lösung mit Modbus TCP testen. Allerdings habe ich keine Ahnung was ich da in der Wago Steuerung programmieren soll. Ebenso finde ich in Loxconfig nix dazu.

          Gibts irgendwo eine kleine Anleitung, wie ich den Miniserver und die Wago 750-849 koppeln kann?

          Was ist eure Empfehlung? Soll ich mir doch lieber noch ne TP1 753-646 holen, oder doch lieber auf Modbus TCP setzen? Letzteres wäre billiger, da ich diese 753-646 nicht benötige.

          Vielen Dank.
          Blacksun

          Kommentar

          • Gast

            #22
            Hi Blacksun,

            Ich hab beruflich damit zu tun. 646 ist ne saubere Sache. Ich bin kein Maßstab... Duko von Loxone wirst du nix finden. Ich hab es halt getestet und es läuft. ModBus RTU ist das selbe wie ModBus TcpIp. Der einzige Unterschied ist die Verbindung und Geschwindigkeit. Modbus RTU wird offiziell mit der Extension unterstütz. Deshalb geht auch TcpIp. Doku ist nicht gewollt. Genau wie die Erweiterungen in der OneWire Geschichte. Sie leben halt von den Extensions und nicht vom Miniserver.

            Wenn du dich mit ModBus befassen möchtest ist es meiner Meinung nach eine schnellere bessere Lösung. Habe aber die 646 als Backup. Falls irgendwas nicht klappt habe ich eine Redundanz.
            Ich hab halt 20 Analoge Ausgänge übertrage freiwillig nur 20 x 1 Byte. Also 0-255 auf einen 0-10 v Stellmotor. Diese 20 Byte und 10 Wöter ziehen den Bus so in die Knie.

            Jetzt übertrage ich 25 Wörter in der selben Zeit wie 1 Befehl per KNX...

            Ich kann demnächst mal paar Beispiele einstellen wie es funktioniert.

            LG

            Kommentar

            • blacksun
              MS Profi
              • 20.01.2016
              • 575

              #23
              Ok, über Google habe ich gefunden, das man für Modbus TCP im Wago Controller nichts parametrieren muss. Es kann direkt über das Register auf die Merkerbereiche zugegriffen werden. Aber was muss ich in LoxConfig für ein Gerät verwenden?


              Gesendet von iPhone mit Tapatalk

              Kommentar

              • Gast

                #24
                Der Feldbuskoppler ist ja eigentlich nur ein Teilnehmer ohne eigene Intelligenz. Das heißt mit Merkern kannst da direkt nichts anfangen. Sinn macht nur direkt auf die Aus und Eingänge zu schreiben.
                Ich finde es nicht weiter schlimm da auch meine Wago recht Dumm ist. Sie unterscheidet aktuell nur Modbus OK, dann Modbus, kein Modbus dann KNX und die Merker setzen bei mir direkt die Ausgänge.

                Ist eigentlich also auch eher Dumm, KNX betreibe ich nur als Backup.

                Zum erstellen auf der Loxone Seite:

                Linker Reiter, Miniserver >> Miniserverkommunikation >> oben rechts Modbussserver
                Links unten ist dieser dann erstellt.
                Da ist dann ein Reiter in dem du den Modbusserver parametrieren kannst.

                Trägst die IP der Wago ein und den Modbus Port ein :502 in der Wago selbst sollte der Modbus Port aktiv sein, Kann man über Ethernet Settings oder Web.

                Jetzt im loxone unter dem Server noch ein Modbus Gerät hinzufügen. Kein Vordefiniertes Gerät, sondern unter Aktoren und Sensoren ist es versteckt. Wenn das drin ist kannst du unter diesem Gerät was die Wago darstellt Aktoren und Sensoren hinzufügen.

                Aktoren = Ausgänge / Sensoren = Eingänge = Bitweise Coil
                Analog dazu Analoge Ein / Ausgänge = Word = Register.

                Gelesen = Bitweise Read 1 Read Coil
                Schreiben = Bitweise Write 5 Single Coil

                Gelesen = Word read 4 read single Register
                Schreiben = Word Write 6 write present single Register

                Ich hab es halt noch nicht direkt mit Ausgängen getestet, ich schreibe auf Merker die Ausgänge setzen.

                ich schreibe auf 12287 = MX0.0 Single Coil 5 zu beachten, MX0.0 = 12287, MX0.1 = 12288, MX0.2 = 12289 !!!! MX40.0 = 12927

                ich schreibe auf 12287 = MW0 Single Register 6zu beachten, MW0 = 12287, MW1 = 12288, MW2 = 12289 !!!! MW40 = 12327

                Es geht mir um den Bit / Word Versatz damit hatte ich 2 Tage zu kämpfen... Steht aber auch in der Modbus Doku / Wago.

                Man kann natürlich nicht doppelt in den selben Bereich rein schreiben.

                Du müsstes meiner Meinung nach direkt auf die PFC Ausgänge schreiben,

                Siehe Modbus Doku http://www.wago.de/media/2_products/...000000_0de.pdf

                Seite 223 Register Lesen FC 4 PFC Out = 256...511 /// PFC IN = 768...1023
                Seite 224 Register Schreiben FC 6 PFC Out = 256...511 /// PFC IN = 768...1023 wobei da glaub ein Fehler in der Doku ist
                Seite 225 hier Bitweise 4096...8191 //// 8192...12287

                Und wir reden hier über den selben Bereich an Ausgängen. Das hat alles etwas gedauert bis ich das Verstanden habe...

                Ich finde es besser so als die Gehhilfe ETS...

                LG













                Kommentar

                • blacksun
                  MS Profi
                  • 20.01.2016
                  • 575

                  #25
                  Hallo Belu,

                  ich habe das heute mal getestet und siehe da, nach einer halben Stunde lief es einwandfrei.

                  Außer das bei mir der M0.0 nicht Adresse 12287 sondern 12288 ist. Steht aber auch so in dem Handbuch, dessen Link du geschrieben hast auf Seite 223. Außerdem habe ich einen 750-849 Controller.

                  Wirklich eine sehr feine Sache!

                  Vielen Dank für deine Hilfe!

                  Gruß
                  BlackSun

                  Kommentar


                  • ESH Mayer
                    ESH Mayer kommentierte
                    Kommentar bearbeiten
                    Hallo Blacksun,
                    ich bin ganz neu hier und habe wenig Erfahrung mit Loxone, aber mit Programmierung allgemein.
                    Ich habe aktuell ein Projekt mit einem Wago 750-352 Busankoppler, diese Signal würde ich ebenfalls gerne mit Loxone abfragen. Ich habe einen Modbus Scanner laufen lassen und konnte ab dem Bit 513-767 die digitalen Ausgänge und von Bit 1-255 die digitialen Eingänge lesen.
                    Aber mein Problem ist, ich kann die Ausgänge nicht beschreiben. Ihr habt geschrieben ab Adresse 12288 oder 12287, wenn ich diese verwende passiert nichts. Ich hab mir auch parallel immer die Wago Anleitung angeschaut, und ich weiß nicht, wie ihr auf die 12288 kommt... Hast du einen Tip für mich oder ein paar Screenshots in Loxone wie ich die Ausgänge beschreiben kann bzw. welche Adressen verwendet werden? Hast du im Busankoppler in der Weboberfläche noch was eingestellt? Vielen Dank schon mal für deine Hilfe. MfG Matthias Mayer

                  • blacksun
                    blacksun kommentierte
                    Kommentar bearbeiten
                    Ich habe nicht die Ausgänge nicht direkt schalten können, glaub ich, ich steuere die Merker in der Wago Steuerung und die Merker wiederum steuern die Ausgänge. Ich habe allerdings auch eine Wago 750-849, auf dem die Ausgänge über den Merker gesetzt werden. Ein zweiter 750-352 habe ich auch noch. Hier liest der 750-849 Controller über Modbus TCP die Eingänge der 750-352.

                    Deshalb muss ich die 12288 verwenden, da hier der Merkerbereich liegt.
                    Zuletzt geändert von blacksun; 01.03.2020, 14:18.

                  • ESH Mayer
                    ESH Mayer kommentierte
                    Kommentar bearbeiten
                    Ok, verstehe. Hab gerade nachgeschaut, sind doch etwas teuer die 760-849 Controller. Ich will eigentlich meine Hardware nicht ändern. Vielen Dank aber trotzdem für deine Info.
                • Gast

                  #26
                  Hallo BlackSun,
                  ich habe auch Interesse an so einer IO Lösung. Wie viele IO's hast du im Moment über die Wago am Laufen? Ich bin nämlich gerade an der Planung meiner Steuerung und da hätte ich ca. 140 Eingangs- und 140 Ausgangskanäle. Nun stellt sich eben die Frage, ob mit der Lösung von Belu parallel 9 Modbus Nachrichten gesendet bzw. auch empfangen werden können (140/16=9), ohne dass es zu großen Latenzzeiten kommt.
                  Hat jemand von euch Erfahrung mit der parallelen Übertragung von mehreren Modbus Protokollen? Einfluss auf Ansprechverhalten?
                  lg

                  Kommentar

                  • blacksun
                    MS Profi
                    • 20.01.2016
                    • 575

                    #27
                    Das kann ich dir leider auch noch nicht beantworten, da auch ich erst in der Planungsphase bin und ich das jetzt einfach nur mal so getestet habe, ob ich überhaupt eine Verbindung aufbauen kann. Das gestern auf Anhieb funktioniert. Einen kleinen Verzug kann ich bei einem Bit, das von Loxone an die Ausgangsklemmen geschickt werden, kann ich schon feststellen.

                    D. h. Ich habe einen Taster an einem Eingang an der Loxone angeschlossen. Diesen Eingang übertrage ich direkt auf einen Ausgang der Wagosteuerung. Mache ich einen Doppelklick, kann dieser nicht dargestellt werden direkt am Ausgang, aber ich denke das braucht man ja auch nicht.

                    Kommentar

                    • Gast

                      #28
                      Hallo,
                      finde das Thema recht interessant.
                      Mit welcher Software wird denn die Wago Programmiert? Muss man die Software von Wago kaufen (hab da was von 500€ gelesen), oder gibt es da was kostenloses?

                      Kommentar

                      • blacksun
                        MS Profi
                        • 20.01.2016
                        • 575

                        #29
                        Programmiert wird der Wago Buscontroller mit CodeSys. CodeSys ist kostenlos, jedoch verlangt Wago für die Targets Kohle. Die Targets brauchst du, damit du die Wago Buscontroller programmieren kannst. Bei einem Starterkit ist die WAGO IO Pro dabei (Wago nennt CodeSys so), also CodeSys incl. Targets.

                        Kommentar

                        • Gast

                          #30
                          Hallo Blacksun,
                          Kannst du deinen Wago Code bitte posten? Möchte so etwas auf einer Beckhoff BC9000 probieren, die habe ich im Moment zur Verfügung.
                          Beste Dank.

                          Kommentar

                          Lädt...