Probleme mit Drucksensor an RS485 Extension

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • crisscross
    Azubi
    • 02.11.2025
    • 3

    #1

    Probleme mit Drucksensor an RS485 Extension

    Hallo Leute,

    ich hatte mir für mein Poolprojekt überlegt, meine noch vorhandene RS485 Extension für die Füllstandsmessung des Pools zu verwenden. Ich habe mir dafür einen Drucksensor (0-0,3 bar) mit RS485 Schnittstelle besorgt. Nach geringen Problemen bei der Installation kann ich nun gemäß Hersteller Datenblatt per Kommando über einen Aktor in der Config den Füllstand abrufen. Ich sehe diesen dann wie im Bild dargestellt im RS485 Monitor. Der Füllstand entspricht dem rot markierten Teil.
    Ich bekomme diesen allerdings nicht in einen Wert auf den Sensoreingang für die Config. Offensichtlich verstehe ich da etwas grundsätzlich nicht. Diverse Versuche bei der Befehlskennung und/oder Wertkorrektur brachten keinen Erfolg.

    Hat jemand eine Idee?

    Wenn ich plausible Daten über den RS485 Monitor sehe, kann der Sensor doch wohl nicht falsch verkabelt sein oder?
    Die Daten kommen aktuell ohne Abschlusswiderstand, es ist nur ein Sensor dran und die Zuleitung ist kurz.

    Liegt das Problem beim ASCII Textformat? Danke euch im Voraus!
    Angehängte Dateien
  • Labmaster
    Lox Guru
    • 20.01.2017
    • 2744

    #2
    Die Daten des Sensors sehen nach Modbus RTU aus , was zwar elektrisch gesehen auch RS485 ist aber halt auch gleich noch das Datenformat vorgibt.
    Mit einer Loxone Modbus Extension könntest du die Daten direkt verwenden, mit der RS485 Extension musst du nun zusehen wie du die Modbus Daten entsprechend dekodiert bekommst.

    Mit der Befehlserkennung des Sensor Eingangs der RS485 Extension könnte es funktionieren die Daten rein zu bekommen, auch wenn dann nicht die Modbus Checksume geprüft wird und es auch sonst keine Fehlertoleranten Aufbereitung ist (so wie bei einer echten Modbus Konformen Datenauswertung).

    Wichtig ist hier die Hexdaten Anzeige von dem was zurück kommt, welche man in deinem Screenshot sieht
    HEX 01,03,02,00,63,f8,6d

    0x01 => Modbus Slave adresse
    0x03 => Read Holding Registers
    0x02 => 2 bytes data
    0x00 => data byte 1 (highbyte)
    0x63 => data byte 2 (lowbyte)
    0xf8 => checksum highbyte
    0x6d => checksum lowbyte

    Mit der Befehlserkennung in einem RS485 Sensor des Extension (Digitaleingang NEIN, Werteinterpretation mit Vorzeichen: ??? je nachdem ob der Sensor hier auch negative Werte ausgibt, dann JA ansonsten NEIN)

    \x01\x03\x02\2\1

    lässt sich diese entsprechend auswerten


    Ich gehe also hierbei davon aus, dass der Hexwert "00" das Highbyte und der Hexwert "63" das Lowbytes darstellen. (wie es bei Modbus RTU ist) Würde hier in der Ausgabe in die Config somit den Hexwert "0x0063" darstellen was einem Dezimalwert von "99" entspricht

    Die letzten beiden Bytes f8 und 6d sind also die Checksumme 0xF86D, die könnte man mit viel Aufwand auch noch in die Config übergeben und dort extra auswerten. Dazu müsste man die dann aber als Byte \4 und \3 noch mit an den Übergabewert dran hängen, beides dann in der Config mit z.B. Formelbausteinen wieder separieren und dann für den separierten Checksummenwert Wert noch die Berechnung und Prüfung machen.

    Aber wie schon erwähnt, das wäre eigentlich die Sache einer Modbus Extension, würde ich also erst mal weg lassen.
    Wenn es dann in der Praxis viele Übertragungsfehler geben sollte (was ich bei einem einzelnen Sensor nicht glaube) dann kann man das Thema immer noch angehen .


    Zuletzt geändert von Labmaster; 03.11.2025, 02:11.

    Kommentar

    • crisscross
      Azubi
      • 02.11.2025
      • 3

      #3
      Mega! Vielen Dank! Ich war dicht dran.

      Der Sensor liefert nur positive Werte. Ich bin mir nicht sicher, ob es jetzt nur an der Wertinterpretation lag, aber es läuft jetzt und mir wird ein Dezimalwert angezeigt, offensichtlich mit 1cm Wasserverlust seit gestern, aber das ist ein anderes Thema. Die Korrektur habe ich wie im Anhang gewählt, ist ein 0-0,3bar Drucksensor, Anzeige ist dann in "mm". Das täuscht eine höhere Genauigkeit vor aber so könnte ich weitere Drucksensoren besser unterscheiden, sofern ich noch einen weiteren einbinde. Ich werde mal beobachten, ob zwischenzeitlich fehlerhafte Werte ausgegeben werden, dann muss ich die Checksumme nutzen.
      Danke dir für die schnelle und ausführliche Hilfe!
      Angehängte Dateien
      Zuletzt geändert von crisscross; 03.11.2025, 17:26.

      Kommentar

      Lädt...