hat von euch jemand schon einmal RS485 auf einem Waveshare Isolated RS485 CAN Hat (B) zum Laufen bekommen?
Bei mir läuft CAN nach nach dem Setup mit VeCanSetup problemlos, die RS485-Schnittstelle für den EM540 allerdings nicht. Ich hätte gerne den USB-RS485 auch durch den Waveshare ersetzt.
Sofern die beiden Schnittstellen vom Raspberry Pi als ttySC0 und ttySC1 erkannt werden müssen folgende Zeilen zur Datei /etc/udev/rules.d/serial-starter.rules hinzugefügt werden:
Hast du auch noch eine Idee, was für eine hohe Zahl an CAN Bus Fehlern verantwortlich sein könnte?
Ich habe etwa 23 % Overruns, das Kabel habe ich schon getauscht (Cat 5 S/FTP, ca 2 m lang). Belegung gemäß Victron für US3000C (Pin 4 CAN-H, Pin 5 CAN-L, Pin 6 GND)
Weil ich mein lieb gewonnenes und schön verbautes RP-Gehäuse nicht auswechseln wollte und wert auf volle Isolation lege, habe ich mir von Innomaker den 2x CAN <-> USB Adapter gekauft. Läuft bei mir prima mit u.a. Victron LynxShunt, Victron RS6000 und JK Inverter BMS. Der Adapter wurde sofort im VenusOS erkannt und CAN0/CAN1 funktionierten - perfektes Plug & Play
Ohne einen Eintrag in der serial-starters kann ich auf SC0 / SC1 via NodeRed zugreifen. Wenn ich diese Einträge setze, kann NodeRed nicht mehr darauf zugreifen. Doch wie / wo finde ich dann die Modbus Zähler?
Habe mehrere SDM630 / SDM72 / SDM120 und würde die gerne darüber ins VenusOS bringen.
@wawibu Mit diesem Eintrag werden die Schnittstellen von Venus OS überwacht und sind nicht mehr für andere Prozesse verfügbar. Für die Eastron Geräte brauchst du noch ein extra Script, die werden von Venus OS normalerweise nicht unterstützt: https://github.com/Telekatz/venus.dbus-modbus-eastron
Jetzt habe ich doch nochmal eine Frage. Habe es durch die Anpassung des Unit Arrays hinbekommen, dass mein EVU SDM angezeigt wird und die Werte sauber kommen. Hierbei ist es dann auch egal on an Port 0 oder Port 1. Nur irgendwie erkennt er einen weiteren Zähler nicht
Da ist es dann auch egal ob das mein Testzähler mit ID 1 oder ein verbauter Zähler ist. Muss ich noch etwas anpassen um die Anzahl der SDMs anzugeben die er erkennen soll?
Im Log sehe ich folgende Meldung
@4000000066014add03db5bac INFO Waiting for localsettings
@4000000066014add05e0e3f4 INFO Starting background scan
@4000000066014add0609094c INFO Scanning ttySC1 @ 9600 bps (quick)
@4000000066014ae73470accc INFO Scanning ttySC1 @ 19200 bps (quick)
@4000000066014af2246ce5d4 INFO Scanning ttySC1 @ 38400 bps (quick)
@4000000066014afd145b2c8c INFO Scan completed in 32 seconds
@4000000066014afd18e53cd4 /opt/victronenergy/serial-starter/run-service.sh: line 5: shift: 2: shift count out of range
EDIT: okay - habe es hinbekommen mit jeweils einem Gerät pro HAT Anschluß. Schließe ich mehrere SDMs an einen HAT Anschluß, wird nur eines davon erkannt. Eigentlich sollte das bei RS485 doch möglich sein. Geht das in VenusOS mit dem HAT Shield nicht? Brauche ich dann echt für jedes Modbus Gerät einen eigenen Port?
Da mir der PE11 mal wieder keine Daten bei mir bekommt, habe ich nun erstmal einen zweiten Waveshare HAT bestellt. Dann werde ich erstmal mit 2 HATs gehen für 4 Modbus Geräte. Schöner wäre es natürlich, wenn ich mehrere Geräte an einer Modbus Schnittstelle vom HAT betreiben könnte.
Ich vermute das es irgendwie geht, habe aktuell nur leider keine Idee wie / wo ich dafür etwas verändern muss
Es können auch mehrere Geräte auf einem Bus erkannt werden, aber richtig stabil hat es bei mir auch nicht funktioniert.
Aber auch wenn alle Geräte erkannt werden kann es zu einem Problem kommen, wenn eines kurzzeitig ausfällt und getrennt wird. An einem Bus, an dem bereits ein Gerät läuft wird nicht mehr nach weiteren oder getrennten Geräten gesucht. Erst wenn kein Gerät mehr am Bus erkannt wird, scannt der serial-starter wieder die Schnittstelle, ob unterstützte Geräte angeschlossen sind. Sicherer läuft es mit nur einem Gerät pro Bus.
@telekatz okay - verstehe ich. Aber wie kann ich das überhaupt hinbekommen? Ich habe alle SDMs einzeln erkennen lassen und sie sind alle in VenusOS ersichtlich. Es schaut bei mir so aus, als ob der SerialStarter gar nicht mehr nach einem zweiten Gerät sucht. Was dann ja mit Deiner Aussage passen würde. Solange noch mindestens ein Gerät am Bus aktiv ist, sucht er nicht neu.
@wawibu Ich vermute mal, dass der RS485 Port bzw. die Software in VenusOS kein Bussystem abbilden kann. Um mehrere Modbus-Busteilnehmer ansprechen zu können muss ja zwingend mit Adressen und z.B. Modbus-RTU gearbeitet werden. Ich vermute allerdings, dass über den HAT immer nur ganz simpel ein RS485 Gerät gepollt wird - ohne vorheriges Ansprechen einer konkreten Adresse.