RS485 Extension

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • EyesOnly
    Azubi
    • 14.08.2017
    • 5

    #1

    RS485 Extension

    Hallo,
    ich betreibe mein Loxone System bereits seit 2016/2017.
    Habe zu der damals auch bereits die RS485 Extension in betrieb genommen und steuere Darüber meine im Haus Verbauten SOmfy Rollläden mit RS485 Anschluss.
    Programmiert hatte ich damals einfaches hoch und runter im System. Lieder keine weiter Automatik mit Wetter und Temperatur zur automatische Beschattung usw.. Dies will ich nun nachholen.

    Leider habe ich nun das Problem, dass bei der automatischen Steuerung mehrere Befehle gleichzeitig vom Server über die Extensen verschickt werden. Dies funktioniert aber leider nicht innerhalb der RS485 Kommunikation.

    Nun habe ich nach Bausteinen im Loxone gesucht, welche eine Art Befehlspuffer aufbauen. Lieder komme ich hier nicht so richtig weiter.
    Der oder Idee Bausteine müssten erkennen, dass mehrere Befehle kommen, diese dann in eine Reihenfolge bringen und nacheinander abarbeiten.


    Hat jemand eventuell eine Idee oder bereits ähnliches umgesetzt?
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11238

    #2
    Wie... die Befehle kommen gleichzeitig („Datenmix“/Datenmüll) beim Somfy an, oder in der falschen Reihenfolge ?
    Ersteres wäre ein Bug des Miniservers/Extension.
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar

    • EyesOnly
      Azubi
      • 14.08.2017
      • 5

      #3
      kurze Erläuterung die das Problem noch genauer beschreibt. Ich habe in der Konfiguration je Aktion Up/down des Rollladens einen Aktor mit den jeweiligen Somfy Befehlen ("like:\xFC\xF0\xFF\x80\x80\x80\x17B\xF5\xFF\xFF\x FF\xFF\t\xB5"). Wenn ich nun in der Automatik im MS für zwei Rollläden als Beispiel bei der zentralen Steuerung mehr als einen senken will, senden der MS an beide Aktoren "ein" und somit gleichzeitig das jeweilige Kommando an die Extension. Hier passiert nun gar nichts. Ist wahrscheinlich eine Sicherung der Extension.

      Ich muss nun entweder:
      Eine Art Verzögerung einbauen. Damit nicht gleichzeitig am Aktor der Befehl "ein" ankommt. Die Extension kann hier leider nicht eine solche Einstellung verwalten.
      Dies habe ich bereits über Merker und die Verzögerung probiert. Klappt leider nicht.
      Oder andere Idee,
      Mit den vorhandenen Bausteinen eine Art Stack Speicher, wo das System die kommenden "Ein" Befehle in der ankommenden Regenfolge und Den Absender Speichert und dann diese Abarbeitet.

      Die Version 2 teste ich gerade. Um mir eventuell eine ganze Menge Arbeit zu ersparen hab ich mal hier gefragt, ob hier eventuell eine Idee oder bereits eine Lösung existiert.

      Kommentar

      • Labmaster
        Lox Guru
        • 20.01.2017
        • 2592

        #4
        Eigentlich würde ich strikt davon ausgehen, daß der Miniserver/Extension hier für eine serielle Ausführung der Kommandos selbst sorgt, alles andere würde ich als Bug ansehen. Ohne eine automatische Pufferung ... wäre Modbus/RS485/RS232 dann eigentlich nicht zuverlässig zu verwenden.
        Zuletzt geändert von Labmaster; 30.05.2019, 08:26.

        Kommentar

        • EyesOnly
          Azubi
          • 14.08.2017
          • 5

          #5
          Die Extension senden wohl beide Kommandos gleichzeitig so sieht es im RS232/485 Monitor und auch bei anderen Sniffern im RS485 Bus aus. Die Funktioniert auf RS485 nicht.
          Auf Modbus kann ich leider nicht gehen, da die Motoren der Rollläden direkt RS485 sprechen.
          Ich werde wohl mit Bausteinen die Logik des Stack Speichers nachbauen müssen.
          Hab auch schon einiges erreicht, der MS Merk und sortiert die Reihenfolge der Befehle und kennt die Menge der Aktoren welche angesteuert werden müssen.
          Jetzt fehlt nur noch die Ausführung.

          Kommentar


          • maxw
            maxw kommentierte
            Kommentar bearbeiten
            Wenn die Extension die beiden Befehle gleichzeitig sendet, ist das ein Bug in der Extension. Bist du auf dem aktuellen SW Stand?

          • EyesOnly
            EyesOnly kommentierte
            Kommentar bearbeiten
            Hallo,

            ja FW ist aktuell.
            Habe es zwischenzeitlich auch mit einigen Versuchen hin bekommen. Durch einen Post von "Christian Fenzl" in dem es um den Baustein "Merker" ging bin ich drauf gekommen. Die Verzögerung in den Bausteinen muss bei der RS485 mindesten 5 betragen damit die Extension den Befehl absenden kann.
            Dadurch dass der RS485 von Somfy kein Endkennzeichen für eine Befehlskette hat, ist es für die Extension schwer zu erkennen, wann ein Befehl endet und der neue Anfängt. Kommen nun von zwei Aktoren die Befehle, werden diese verworfen.
            Durch die Verzögerung in den Merken, habe ich es so eingerichtet, dass bei jedem Merker (für die Rollläden) die Verzögerung um 5 erhöht wird. Damit hat es geklappt.
        • Labmaster
          Lox Guru
          • 20.01.2017
          • 2592

          #6
          Ich würde da definitiv mal ein Ticket bei Loxone aufmachen.
          Wenn ich ein komplettes Paket auf die RS484 Extension trigger, dann erwarte ich, daß dieses auch als genau solches raus geht und nicht durch ein anderes, welches von der selben Extension erzeugt wird, unterbrochen werden kann.
          Für das Puffern hat der MS /Extension selbst zu sorgen. Schon alleine deshalb, weil es ja keine Möglichkeit gibt den genauen Sendestatus jeweils zurück zu lesen. (also z.B. Füllstatus des Ausgangspuffers ...)

          Kommentar

          • Andrii Kuzmuk
            Extension Master
            • 29.08.2015
            • 142

            #7
            Hallo,

            ich möchte mit RS 485 Extention ein Modbus Relay zu steuern.

            Habe keine Erfahrung damit, mit Modbus Extention funktioniert ok.

            Ich möchte Relay Status mit einem Befehl von RS 485 Extension lesen.

            Womit kann ich anfangen?

            Gruss

            Andrii

            Kommentar

            • maxw
              Lox Guru
              • 25.08.2015
              • 1372

              #8
              Wenn du mit RS 485 Modbus steuern willst, musst du zuerst das ganze Modbus Protokoll nachbauen. Viel Spaß damit!

              RS 485 https://de.m.wikipedia.org/wiki/EIA-485

              Modbus https://de.m.wikipedia.org/wiki/Modbus

              Wenn du Modbus brauchst, nimm die Modbus Extension, deshalb gibt es sie ja.

              Kommentar

              • Andrii Kuzmuk
                Extension Master
                • 29.08.2015
                • 142

                #9
                Schalten und Ausschalten Modbus Relay funktioniert mit RS 485 Extention problemloss.

                Wie kann man Status von Coils zu bekommen?

                Ich sende eine Anfrage und dann kommt die Anwort, was mache ich damit? Wie kann ich GerätNr, dann Befehlnummer und Daten aus der Antwort raus?

                Klicke auf die Grafik für eine vergrößerte Ansicht  Name: MR1.PNG Ansichten: 0 Größe: 23,1 KB ID: 211851

                Kommentar


                • maxw
                  maxw kommentierte
                  Kommentar bearbeiten
                  Wie schon geschrieben, du musst das Modbus Protokoll implementieren. Zumindest die Teile die du brauchst. Das wird sicher einiges an picoC erfordern.

                • Andrii Kuzmuk
                  Andrii Kuzmuk kommentierte
                  Kommentar bearbeiten
                  maxw,
                  danke für Deiner Bemühungen, ich möchte darauf hinweisen, dass RS-485 Extention mit Modbusgeräten von Anfang an arbeitet. Du brauchst nicht mit picoC zu tun. Modbus ist schon drinn und implementiert. Du kannst an Modbus Extention 64 Euro sparen.
                  Die Frage war, wie man richtig Dateien bearbeitet. Die Anleitung auf der Loxone Seite ist nicht klar.
                  Ich habe es schon gelöst.
                  Danke
                  Zuletzt geändert von Andrii Kuzmuk; 08.09.2019, 13:52.
              • Andrii Kuzmuk
                Extension Master
                • 29.08.2015
                • 142

                #10
                Hallo, Ich habe auch bemerkt, dass RS 485 Ext verliert die Befehle.


                EyesOnly

                Wie hast du das Problem geloest. 5 bedeutet 5 Sec oder was?

                Kannst du deine Programme mit Merker zeigen.

                Welche SW passt zu sniffer RS 485?

                lg

                Andrii
                Zuletzt geändert von Andrii Kuzmuk; 21.12.2019, 13:34.

                Kommentar

                • Andrii Kuzmuk
                  Extension Master
                  • 29.08.2015
                  • 142

                  #11
                  RS485 Extention Analog Ausgabe

                  Meine Versuche mit RS485 Extention gehen weiter.

                  Ich schreibe in Aktor mit der Befehl
                  \x01\x0F\x00\x00\x00\x08\x01<v>

                  die Daten von 0 bis 20.

                  Und siehe im RS485 Monitor
                  Sende 0, Extention liefert 30
                  Sende 1, Ext. liefert 31
                  Sende 11, Ext. liefert 2 Bytes 31 31
                  Sende 16, Ext. liefert 2 Bytes 31 36

                  Vieleicht jemanden kann es verstehen und erklären, warum, es so ist?
                  Klicke auf die Grafik für eine vergrößerte Ansicht

Name: RS 485 2.png
Ansichten: 679
Größe: 84,7 KB
ID: 226759

                  lg,

                  Andrii

                  Kommentar

                  • andreasmader
                    Azubi
                    • 11.04.2020
                    • 4

                    #12
                    So wie das aussieht interpretiert die RS485 Extension deine Werte als ASCII Text und schickt dann den HEX Code für die entsprechenden Zeichen...

                    Kommentar

                    Lädt...