NEWS
ModBus Hilfe - Azzurro ZCS
-
Kann ich. Die /dev/tty* Dateien werden vom Kernel 'zufällig' in der Reihenfolge des Auftauchens des Gerätes vergeben. Das kann sich ändern, jenachdem ob ein Gerät von Hand umgestöpselt wird oder welches Gerät beim Booten zuerst 'hier bin ich' ruft.
Die Links aus /dev/serial/by-id sind immer die gleichen (außer bei einem Firmware-Update würde die ID verändert) und verweisen dann auf das richtige, zuvor vom Kernel (siehe oben) zugewiesene Gerät in /dev/tty*Deswegen gibt man in den Einstellungen auch die fixe Datei als Adressat an und nicht den Wanderzirkus aus /dev/tty*
-
@thomas-braun Danke, bei mir im /dev/serial/by-id/ ist ein Verweis mit dem Namen: usb-FTDI_FT232R_USB_UART_A10OQNJW-if00-port0 auf ../../ttyUSB0 enthalten. Das bedeutet somit, egal in welchem der 4 USB Ports und egal wie viele USB Devices daran angeschlossen sind mit dem .../by-id/ findet er immer den für mich entscheidenden ttyUSB0.
-
Wobei es wie bereits gesagt passieren kann, dass da auf einmal /dev/ttyUSB1 verlinkt wird. Deswegen geht man ja auf die by-id-Datei und nicht direkt auf die Geräte-Datei.
-
@thomas-braun Wieder was gelernt, danke.
-
@schwabe_ch also leider habe ich auch manchmal das Problem dass das RS485 Logo nicht mehr im Display vom Inverter angezeigt wird. Wenn das passiert, dann schickt es tatsächlich keine Daten mehr - bei mir passiert das aber extrem selten, vielleicht einmal alle 2-3 Monate. Die einzige Lösung die ich dafür bis jetzt habe, ist am Inverter in die Einstellungen zu gehen, zu Kommunikation und dort alle einzelne Einstellungen einmal öffnen und bestätigen (also Port, Baud Rate, Stop bit, etc.) - nichts ändern, nur öffnen und bestätigen. Dann kommt das Logo wieder im Display an und die Daten gehen zur Raspi.
Wegen mbpoll, wie schon vorher gesagt, ich bekomme fast nie Daten wenn ich diese direkt per ModbusRTU anfrage, also quasi /dev/... benutze. Es funktioniert aber 99,9% richtig wenn ich mit mbusd das in ModbusTCP "konvertiere" und dann localhost:502 benutze. -
@mrfenyx said in ModBus Hilfe - Azzurro ZCS:
Kommunikation und dort alle einzelne Einstellungen einmal öffnen und bestätigen (also Port, Baud Rate, Stop bit, etc.)
Ich habe aber keinen Menüpunkt Kommunikation.
Unter Einstellungen -> 8. Modus-Adresse -> 1. Modus-Adresse / 2. Baud-Rate.
Unter Punkt 2. Baud-Rate sind lediglich die üblichen 9600 usw. aufgeführt. Nix mit Stop bit. etc.
Die Anzeige von RS485 im Display folgt auch einer ziemlich genauen zeitlichen Abfolge. 20 Sek up-60 Sek down usw....
Vom Support azzurro erhalte ich keine Antwort. Mein Solateur ist hilflos überfragt. Dem musste zuerst einmal der Unterschied von RTU und TCP erklärt werden.
Ich hatte gehofft das Problem könnte mit V6 behoben werden. Leider nein.
Irgend eine andere Idee wie ich z.B. die Abfrage optimieren könnte um das Fenster 20 Sek. z.B. in einer Schleife bzw. Zeitverzögerung zu erwischen? -
Hi mrfenyx,
vielleicht kannst du mir an diesem Punkt den entscheidenden Tipp geben:
Dann kann man sowas ausführen, um zu schauen ob alles läuft: mbpoll -m rtu /dev/ttyUSB0 -b 9600 -P none -r 531 -0 -1 -v. Im besten Fall kommt dann ein Wert heraus und nicht eine Fehlermeldung.
Genau da hakt es bei mir, ich bekomme verschiedene Fehlermeldungen im Wechsel:
- ERROR Connection reset by peer: read
Read output (holding) register failed: Connection reset by peer - ERROR Connection timed out: select
Read output (holding) register failed: Connection timed out - ERROR CRC received 0x190 != CRC calculated 0x4C00
Read output (holding) register failed: Invalid CRC
Ist das ein Hardware-Problem mit dem Adapter oder kann ich da irgendwas retten? Wäre für jede Hilfe dankbar, bevor ich den nächsten Adapter kaufe...
Besten Dank & Grüße
- ERROR Connection reset by peer: read
-
Sieht für mich nach Fehlern in der Kommunikation zwischen den Geräten aus. Netzwerk stabil?
-
@Thomas-Braun
der USB Adapter steckt im Raspi. Bei der Abfrage von mir, will ich ja zuerst einmal die Verbindung zum Adapter testen. Dabei entstehen ja schon diese Fehler.
Der Adapter hängt wiederum mit zwei Litzen am Wechselrichter.
Ich wüsste nicht, wo da das Netzwerk Probleme machen sollte. Ich schicke ja nichts über WLAN oder LAN.
Deshalb dachte ich, das der Adapter evtl nicht funktioniert. Ich habe den Adapter gekauft, welcher in Post 4 verlinkt ist.Gruß
-
CRC sind jedenfalls Prufsummenfehler. Die werden in der Regel bei wackeligen Datenübertragungen ausgelöst.
-
@snowboarder2611 said in ModBus Hilfe - Azzurro ZCS:
ERROR CRC received 0x190 != CRC calculated 0x4C00
Read output (holding) register failed: Invalid CRCGenau sowas hatte ich auch ständig bekommen aber das gute daran ist, das bedeutet auch dass die Daten "irgendwie" kommuniziert werden. Ich würde dir auch raten, mbusd zu benutzen. Dann kommen keine Fehlermeldungen mehr und du kannst auch direkt die Daten per ModbusTCP von woanders einfach lesen.
-
@schwabe_ch said in ModBus Hilfe - Azzurro ZCS:
Irgend eine andere Idee wie ich z.B. die Abfrage optimieren könnte um das Fenster 20 Sek. z.B. in einer Schleife bzw. Zeitverzögerung zu erwischen?
Kannst versuchen alle 10-15 Sekunden eine Abfrage zu machen. Dann werden die meisten fehlschlagen aber es kommen auch Daten. Das ist aber nicht normal. Zum Azzurro Support, ja, die sind absolut nicht hilfreich, leider.
-
@mrfenyx danke, könnte ich versuchen. gehört nicht unbedingt zum software Thema, aber ist bei dir das logo rs485 im im Display immer aktiv? Bevor ich mich nun an eine Softwarelösung mache sollte sich evtl. bei einem Hardwareproblem der Installateur der Anlage mit dem Azzurro Support abmühen.
-
@schwabe_ch das Logo ist bei mir immer an, wenn ich Daten richtig bekomme. Ich habe mir auch Skript gebaut dass mir eine Nachricht schickt jedes mal wo es kein Empfang mehr gibt und dann, in 100% der Fälle ist das Symbol weg (wie gesagt, alle 2-3 Monate).