Das erste Mal stelle ich hier Fragen ein, bei welchen ich nicht weiter weiss. Das eine oder andere habe ich bereits gefunden, jedoch z.T. nicht als Antwort auf meine Frage(n). Bitte entschuldigt, z.T. könnten es evt. Grundlagen sein, welche mir beim Modbus RTU fehlen. Bei anderen bei mir aus der Praxis bekannten Bus oder busähnlichen Systemen kenne ich dieses Verhalten nicht.
An der Modbus RTU Extension befindet sich als Grundinstallation:
- 1 Wärmemengenmessung (Heizung)
- 1 Drehstromzähler
- 1 Netzanalysemessgerät (Überwachung Stromzuleitung Haus)
Dies lief mit der Verkabelung und den Busabschlusswiderständen ohne weitere Probleme.
Die Einstellung der Extension war hierfür 9600, 1, gerade, Timing auto - Sensoren: Onlinestatus überwachen, z.T. Validierung. Abfragezyklus 5s.
Miniserver Gen 1 - FW 12.2.12.1
Aufgrund einer Erweiterung mit zwei Wechselrichter musste die Parität neu ausgeschaltet werden (auf WR nicht änderbar). Die Busstruktur ist infolge der Gegebenheiten nicht gerade nach Lehrbuch ausgeführt.
1.) Spannungsloser Slave
Am Tag funktioniert das ganze wie es soll. Trennt sich jedoch der Netzwechselrichter vom Netz, ist der Slave nicht mehr erreichbar, der MS meldet dadurch Sensorfehler.
a.) Validierung auf Sensorebene wurde danach deaktiviert -> kein Sensorfehler mehr. Jedoch hat dies einen neuen Nachteil: Der zuletzt empfangene Wert (z.B. Produktionsleistung 25W) wird die ganze Nacht hinüber in der Statistik hinterlegt. Wird hier wieder die Sensorüberwachung mit der Validierung verwendet, wird zwar der Messwert auf 0 gesetzt, aber der Sensorfehler kommt wieder.
--> Gibt es hier eine Lösung, wie die Validierung des Sensorwertes ohne Fehlermeldung umgesetzt werden kann? Die übrigen Busteilnehmer sollen weiterhin überwacht bleiben.
b.) Timing: Ebenfalls "störte" der nicht mehr empfangsbereite Slave die anderen Teilnehmer am Bus. Von denen konnten meist keine Daten mehr empfangen werden. Von z.B. 10 Abfragen wurden nur jeweils 1 beantwortet. Die übrigen wurden mit Sensorfehler ausgegeben. Die Verkabelung wurde zum Versuch nach Lehrbuch provisorisch aufgebaut und erneut simuliert, jedoch ohne Erfolg. (als Ergänzung: der in der Nacht spannungslose WR ist am Ende des Buses an einer längeren Leitung (30m). Danach habe ich das Timing auf Manuell, Pause 0.05s, Timeout 0.5s eingestellt. Dies funktioniert soweit gut.
--> Ist dies ein generelles Modbus RTU Phänomen oder kommt dies von Loxone her? Bringt ein weiterer Busteilnehmer nach dem spannungslosen WR evt. etwas? Sind die gewählten Timing Einstellung erfahrungsgemäss im Rahmen oder was würdet ihr mir hier empfehlen? Ist es empfehlenswert das Timing auf Manuell eingestellt zu lassen oder kann das Problem auf eine andere Weise gelöst werden?
2.) abgehängter oder noch nicht angeschlossener Slave
Bereits bei der Vorbereitung der beiden neuen Wechselrichter (noch nicht am Bus angeschlossen) ist mir folgendes aufgefallen: sobald die beiden neuen Modbus Geräte (Wechselrichter) und dessen Sensoreingänge vorkonfiguriert und auf den MS geschrieben wurden, meldet der MS Sensorfehler anderer (jedoch nicht aller) Slaves. Eine provisorische Änderung an der Busverkabelung hat hier keine Änderung bewirkt. Das gleiche Verhalten zeigt der MS, wenn zu Versuchszwecken ein Slave vom Bus abgehängt wird.
--> Ist dies ein generelles Modbus RTU Phänomen/Grundlage Bus oder kommt dies von Loxone her? Kann dieses Problem gelöst werden? (Klar, im Normalfall, wenn die Anlage läuft, bleibt alles angeschlossen. Ich muss jedoch zu Versuchszwecken einen Slave auf ein anderes Steuergerät hängen, um dieses jeweils zu testen. Da nervt der Ausfall der übrigen Slaves, vorallem bei den hinterlegten Logiken und nicht zuletzt in der Statistik...
3.) Abfragezyklus min. 5s
gem. Informationen keine kürzeren Abfragezyklen bei Modbus RTU möglich (Loxoneeinschränkung).
--> Ist dies noch aktuell oder kann dies irgendwie mit der gegebenen Hardware "umgangen" werden? Ist dies bei Modbus TCP oder bei anderen an Loxone angeschlossenen "Bus oder busähnlichen Systemen" ebenfalls so?
Als Wechselrichterlösungsvorschlag wurde Modbus TCP erwähnt. Kann ich nötigenfalls (auch wenn widerwillig *g* ) umsetzen, um die übrigen Slaves in der Datenübertragung nicht zu beeinträchtigen. Die Validierung mit dem daraus folgenden Sensorfehler würde jedoch weiterhin bestehen bleiben?
Ich danke allen, welche sich die Mühe gemacht haben, den doch etwas längeren Text vorgenommen zu haben und bin auf den einen oder anderen Input gespannt.
Beste Grüsse
Daniel
Kommentar