ModBus Sensor + Loxone ModBus - Kommunikationsproblem

Futureweb

Level-1
Beiträge
17
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich hoffe dass mir einer von euch hier vielleicht weiterhelfen kann. Ich habe ein Problem bei der Kommunikation eines CO2 Sensors mit unserer Loxone - über ModBus.
Aktuell sieht es so aus als ob der Sensor-Hersteller das Problem bei Loxone sieht, und Loxone das Problem beim Sensor-Hersteller ... und ich, mit einem nicht funktionierenden CO2 Sensor, in der Mitte :-/

Grundlegend: Haben unser Büro komplett mit Loxone verkabelt. Unsere Lüftung und unsere Daikin Klima-Geräte sind per ModBus an die Loxone angebunden - und funktionieren einwandfrei.

Dieser Sensor ist verbaut: https://www.fuehlersysteme.de/luftq...feuchte-und-temperatur-digitaler-ausgang.html (Unter Downloads ist auch deren ModBus Anleitung zu finden)

ModBus Config der Loxone ModBus Ext / Sensor:
  • 8N2
    • 2 Stoppbits
    • Keine Parität
  • 9600 Baud
  • Sensor Adresse: 12
Wenn die Loxone Werte abfrägt dann blinkt der Sensor Jedoch ROT / ROT-Grün gleichzeitig
Antwort FuehlerSysteme 07.12.2021:

Die Parametrisierung sieht gut aus.

8N2, gleiche Adresse, das blinken der LEDs zeigt auch an, das eine Kommunikation stattfindet, auch wenn es zu einem Fehler kommt.


Grün: Gerät wurde mit der richtigen Adresse, richtige BUS Konfiguration etc. angesprochen sendet Antwort

Rot: Gerät hat Anfrage erhalten, aber unzulässig, falscher Funktionscode, falsches Register etc.

---: Gerät hat keine gültige Anfrage erhalten

Bzgl. der Adressierung kam vom Sensor Hersteller die Info:

Antwort FuehlerSysteme 07.12.2021:

Das Register (z.B. CO2) ist ein 16 BIT Register, bestehend aus HIGH und LOW.

Ist der Wert z.B. 7050 ppm CO2 (Dezimal), ergibt dies 0x168H. Die Kennzeichnung

0x (Format) 16 (HIGH) 8H (LOW) -> 0x168A -> 7050 (dezimal)

Was nun aber die ganzen Einstellung der Loxone betriff könne wir nicht beantworten?
Das Bild oben passt jedenfalls nicht zum FS1320.

In der Loxone hätte ich den Sensor so konfiguriert:


loxone.jpg


Hätte es auch schon mit/ohne die Checkboxen bzgl. Registerreihenfolge etc. probiert (alle Kombinationen durch)

Sensor:
1639398560701.png
1639398678998.png
1639413922906.png
1639398693286.png


Aber in der Loxone Debug bekomme ich stetig immer nur folgende Meldung:
00000369 10.2.0.195 13:40:32.101 13:40:33.486 LNK Debug Modbus No Response 09d87ff4, Modbus-address: 12, IO-address: 10,

00000370 10.2.0.195 13:40:33.158 13:40:34.543 LNK Debug Modbus No Response 09d87ff4, Modbus-address: 12, IO-address: 10,

Ich bin mit meinem Latein leider vollständig am Ende, und ob vom Hersteller + Loxone noch wirklich viel daher kommt wage ich leider zu bezweifeln.

Ich hoffe wirklich dass mir hier vielleicht jemand helfen kann! :)

Vielen Dank, lg aus Tirol
Andreas
 
Zuletzt bearbeitet:
00000369 10.2.0.195 13:40:32.101 13:40:33.486 LNK Debug Modbus No Response 09d87ff4, Modbus-address: 12, IO-address: 0,

00000370 10.2.0.195 13:40:33.158 13:40:34.543 LNK Debug Modbus No Response 09d87ff4, Modbus-address: 12, IO-address: 0,
Wenn bei Modbus gar keine Antwort kommt, dann gibt es den angesprochenen Teilnehmer nicht, oder er versteht die Modbus-Anfrage bzw. die Adresse nicht. Hat der Sensor die Busadresse 12? Tausche mal testweise die Drähte A und B am Sensor.

Antwort FuehlerSysteme 07.12.2021:
(...)
0x (Format) 16 (HIGH) 8H (LOW) -> 0x168A -> 7050 (dezimal)
Das ist falsch so. Richtig wäre: 0x 1B 8A -> 0x1B8A -> 7050 (dezimal)
Hatte die Firma handschriftlich per FAX geantwortet? ;)

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Andreas,

in Deiner Konfiguration sehe ich nicht, wo Du Adresse 12 vergeben hast. Ist das über "Anschluß AMQ95" definiert?

Die Aussage vom Debug ist ja eindeutig: Er empfängt keine Antwort.
Hast Du mal die Terminierung überprüft? A/B vertauscht?

Ansonsten einen USB-Seriell-Konverter am PC anschließen und einmal den Sensor über den PC abfragen und einmal die Anfrage vom Loxone am PC auswerten.
Vielleicht fällt Dir da was auf...

Gruß
Jens
 
Wenn bei Modbus gar keine Antwort kommt, dann gibt es den angesprochenen Teilnehmer nicht, oder er versteht die Modbus-Anfrage bzw. die Adresse nicht. Hat der Sensor die Busadresse 12? Tausche mal testweise die Drähte A und B am Sensor.
Habe jetzt mal testweise A/B vertauscht - wenn ich das mache dann blinkt gar keine LED mehr ... weder ROT noch GRÜN - dann ist er einfach wirklich "tod" ...
Kaum A/B wieder vertauscht - blinken wenigstens die LEDs wieder sobald die Loxone etwas sendet.

Interessanterweise taucht bei falschem A/B nicht mal mehr eine Meldung bzgl. Adresse 12 im Debug Log auf ... also auch das "No Response" ist nicht mehr da?

in Deiner Konfiguration sehe ich nicht, wo Du Adresse 12 vergeben hast. Ist das über "Anschluß AMQ95" definiert?
Genau - das ist eine Ebene höher definiert:
1639403066064.png1639403083928.png


Das ist falsch so. Richtig wäre: 0x 1B 8A -> 0x1B8A -> 7050 (dezimal)
Hatte die Firma handschriftlich per FAX geantwortet?
haha ... haben sich hoffentlich nur verschrieben ... und nicht ihre Sensoren auch so programmiert ... ^^
Bzw. stimmt das nicht in deren Fall? Sie haben ja HighByte/LowByte Reihenfolge?!?

Hast Du mal die Terminierung überprüft?
Terminierung bei letztem Gerät am Bus, der Lüftung. Sensor ist vorletztes Gerät.

Ansonsten einen USB-Seriell-Konverter am PC anschließen und einmal den Sensor über den PC abfragen und einmal die Anfrage vom Loxone am PC auswerten.
Leider nicht so leicht ... der ModBus ist nur bei der Lüftung und der Klimaanlage verbaut - nirgends wo ich nur iw. brauchbar mit einem PC/Laptop ran kommen würde - sonst hätte ich das schon probiert :-(
 
Auf der spanischen Seite gibt es Grundsätzliches zur Fehlersuche... vieles wirst Du schon abgefrühstückt haben, aber vielleicht ist doch noch ein Ansatz für Dich dabei:

Deepl.com ist Dein Freund ;)

Demnach müßtest Du ja alle gesendeten und empfangenen Telegramme sehen können.
Kannst Du die Kommunikation hier mal einstellen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Demnach müßtest Du ja alle gesendeten und empfangenen Telegramme sehen können.
Kannst Du die Kommunikation hier mal einstellen?


1639409071390.png
Scheint wohl leider NICHT die gensendeten Telegramme anzuzeigen ... :-(
Sehe da leider immer nur das nichtssagende "No Response" ... aber nicht was er ursprünglich gesendet hat ... :-/

Bei anderen Sensoren (Lüftung) bekomme ich die Empfangenen Telegramme zu sehen ...
00024935 10.2.0.195 16:25:59.790 16:26:01.563 LNK Value from 09d87ff4 C232/C485 Sensor (2d 00 00 01 90 00 00)

Aber das hilft so ja leider auch nicht weiter :-(
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab jetzt mal einen RS485 - USB Adapter bestellt ... dass ich mal den tatsächlichen Traffic am Bus mitschneiden kann ... vielleicht bringt das ja eine entsprechende Idee ... ?!

Habt ihr ev. Software Empfehlungen zum ModBus Telegramm debugging? (Welche die nicht gleich hunderte € kosten? ;-)
 
Sonst mal im Internet suchen...
Hab ich natürlich schon ... aber wenn jemand vielleicht schon eine empfehenswerte (free) Software weiß - spart man sich Zeit wenn man nicht 5 verschiedene durchprobieren muss bis man was passendes gefunden hat ... ;-)

Ich bin gestern auf diese hier gekommen:

https://www.win-tech.com/html/modscan32.htm

https://github.com/alerighi/modbus-sniffer

https://github.com/toggio/PhpSerialModbus

https://sourceforge.net/projects/qmodmaster/

https://store.chipkin.com/products/tools/cas-modbus-scanner
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit Modsim/Modscan solltest Du Deinen Zweck erfüllen können.
Du kannst sowohl die Werte als auch den Traffic anzeigen lassen.

qModMaster kann das auch entsprechend...

Die anderen kenne ich nicht.
 
Alles klar ... melde mich dann wieder wenn ich ein wenig "am Bus gelauscht habe" ... ^^
(Serial2USB muss erst ankommen)

Ausser euch fällt währenddessen vielleicht noch was ein ... ? ;-)
 
Ein normales Terminal Programm reicht auch zum einfachen mitlesen der Raw Bytes auf dem RS485, gerade wenn man damit rechnen muß daß das Modbus Protokoll vielleicht nicht eingehalten wird.
z.B. HTerm

In der Loxone hätte ich den Sensor so konfiguriert:


loxone.jpg
Was kann man eigentlich in Loxone bei "Befehl | 4 - Read input register(3x)" noch so einstellen? Loxone muß die Modbus Function 4 verwenden.

Wenn Loxone vom Modbus Gerät Adresse 12 das Lese/Input-Register 10 lesen will, dann muß es diese Bytefolge senden (hex): 0C 04 00 0A 00 01 10 D5
und dann sollte das Modbus Gerät antworten: 04 02 xx xx cl ch
(xx xx Wert des Registers erst H-Byte dann L-Byte, cl ch CRC erst L-Byte dann H-Byte)

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was kann man eigentlich in Loxone bei "Befehl | 4 - Read input register(3x)" noch so einstellen? Loxone muß die Modbus Function 4 verwenden.
Eben leider nicht mehr wirklich viel ... das was du auf dem Screenshot siehst ist leider schon alles was ich in der Loxone bei ModBus konfigurieren kann ... :-/

ModBus Ext:
1639488745362.png 1639489051223.png

Gerät:
1639488765868.png

Sensor am Gerät:
1639488799144.png

1639488814016.png
1639488828092.png

bzw. bei einem Aktor statt Sensor:
1639488866779.png


Das war's dann leider auch schon ...
 
Achja - nur um Sicher zu gehen ... ModBus Verkabelung wurde von unserem Elektriker durchgeführt, der auch die Loxone verbaut hat.
Ich habe mit ModBus bislang leider nicht wirklich berührungspunkte gehabt ... Die Verkabelung ist so korrekt wie sie gemacht wurde, oder?
(10 ModBus Geräte funktionieren zwar ohne Probleme, aber vielleicht ist der Sensor ja empfindlicher gegenüber Störungen/Signal-Reflexionen oder sonstigem?!?)

1639489515718.jpeg


1639489639543.png

Kabel geht vom ModBus Master (Loxone ModBus Ext) weiter zum ersten Klimaanlagen ModBus und dann immer weiter und weiter an die nächsten Geräte ... das ist ja richtig, oder?
 
Versuche mal testweise "3 - Read holding register(4x)" - irgendwie ist das eigenartig beschriftet. Was sollen das 3x und 4x bedeuten??

Zum lesen von Registern gibt es die Modbus Funktionen:
03 (0x03) Read Holding Registers
04 (0x04) Read Input Registers

Zum Lesen der Lese-Register (Input Register) muß die Modbus Function 0x04 verwendet werden.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Versuche mal testweise "3 - Read holding register(4x)" - irgendwie ist das eigenartig beschriftet. Was sollen das 3x und 4x bedeuten??
Habe ich leider auch schon probiert - genau gleiches Ergebnis ... keine Antwort vom Sensor ... leider ...
Was sie da mit dem 3x / 4x ausdrücken wollen ist mir auch nicht ganz klar ... und man findet jetzt leider auch nicht wirklich mega viel Infos zu Loxone+ModBus :-(
 
Bei 9600Baud sollte das funktionieren... sitzt der Sensor allerdings weeeeeit weg, würde ich das eher mit ansatzweise geschirmter Leitung machen...

Mit 3x / 4x werden die Registerbereiche 3x.xxx und 4x.xxx gemeint. 3x = Input Register, 4x = Holding Register. Die Schreibweise liest man öfter mal, hat nichts mit dem FC zu tun...
 
Bei 9600Baud sollte das funktionieren... sitzt der Sensor allerdings weeeeeit weg, würde ich das eher mit ansatzweise geschirmter Leitung machen...

Mit 3x / 4x werden die Registerbereiche 3x.xxx und 4x.xxx gemeint. 3x = Input Register, 4x = Holding Register. Die Schreibweise liest man öfter mal, hat nichts mit dem FC zu tun...

Also ich schätze mal die Gesamtlänge des Bus sollte die10-20m nicht überschreiben ... wenn nicht sogar <10m ...
 
Zurück
Oben