NEWS
Modbus EasyCharge Einstellungen
-
@wendy2702 said in Modbus EasyCharge Einstellungen:
@homoran tolle Dokumentation wenn mal none und mal even angegeben ist.
Vielleicht ist der Stick auch gegrillt nachdem er falsch angeschlossen war.
Würde ich ausschließen. Hab gerade einen 2. (selbe Marke) getestet. Gleiches Ergebnis.
-
@mark ne Kontrollleuchte hat der nicht?
-
-
@mark Dann bleibt nur Kontakt zum Hersteller der Karte aufnehmrn und dediziert nach den Parametern fragen, und/oder due genannten Möglichkeiten in allen Variationen durchprobierrn.
-
@mark sagte in Modbus EasyCharge Einstellungen:
ist aber nur mein VersuchsPi, den ich im Zimmer habe und sobald das funktioniert wird alles an den richtigen in der Garage angeschlossen, aber da ist es mir momentan viel zu kalt.
heisst das, dass der Platine der Kontakt zur Wallbox fehlt und daher möglicherweise gar keine Daten zum abfragen hat?
-
@homoran said in Modbus EasyCharge Einstellungen:
@mark Dann bleibt nur Kontakt zum Hersteller der Karte aufnehmrn und dediziert nach den Parametern fragen, und/oder due genannten Möglichkeiten in allen Variationen durchprobierrn.
Mach ich, schreib gleich mal eine Mail
-
@homoran said in Modbus EasyCharge Einstellungen:
@mark sagte in Modbus EasyCharge Einstellungen:
ist aber nur mein VersuchsPi, den ich im Zimmer habe und sobald das funktioniert wird alles an den richtigen in der Garage angeschlossen, aber da ist es mir momentan viel zu kalt.
heisst das, dass der Platine der Kontakt zur Wallbox fehlt und daher möglicherweise gar keine Daten zum abfragen hat?
Es gibt keine Wallbox. Die Platine wurde mit einem vorkonfektionierten Typ2 Ladestecker verdrahtet und dieser wird dann direkt am Fahrzeug angeschlossen (die Platine ersetzt Quasi die Wallbox).
Die Platine selbst hat eine Status-LED, welche aktuell die Bereitschaft zum Laden signalisiert. Somit sollte ein Abfragen der Werte möglich sein. (Z.b. 40027: 0=getrennt, 1=eingesteckt, 2=undefiniert). Aber egal welches Register ich nehme, es kommen immer die selben Fehler.Ich werde wie geschrieben den Hersteller kontaktieren und morgen mal am Fahrzeug einstecken. Dann melde ich mich wieder.
Bis hierher erstmal vielen Dank für Eure Hilfe! -
@mark hab gerade noch etwas gefunden
Was immer das genau bedeutet.
ggf. musst du tatsächlich die Anzahl zeitgleich ausgelesene Register auf 1 oder einen sehr niedrigen Wert stellen. -
@homoran said in Modbus EasyCharge Einstellungen:
@mark hab gerade noch etwas gefunden
Was immer das genau bedeutet.
ggf. musst du tatsächlich die Anzahl zeitgleich ausgelesene Register auf 1 oder einen sehr niedrigen Wert stellen.Wie meinst du das? Wo kann ich das einstellen?
Ich konnte jetzt die dtd2xx.DLL am Windows Pc registrieren und hab dort die Modbussoftware vom Hersteller starten können. Diese findet allerdings den RS485-Adapter nicht, obwohl er von Windows erkannt wird und über ein anderes Programm angesprochen werden kann. Vielleicht liegt es doch am Chipsatz des Konverters. Ich hab jetzt mal einen bestellt, wird am Mittwoch geliefert, dann stell ich hier das Ergebnis wieder rein
-
@mark sagte in Modbus EasyCharge Einstellungen:
Wo kann ich das einstellen?
hier:
@homoran sagte in Modbus EasyCharge Einstellungen:
Man könnte noch
- Leitungen A/B tauschen
- Die Anzahl auf einmal gelesene Register begrenzen
- einige Geräte brauchen das
- einige Geräte brauchen das
@mark sagte in Modbus EasyCharge Einstellungen:
Vielleicht liegt es doch am Chipsatz des Konverters.
möglich!
RS485 ist nicht unbedingt Modbus.
Auch von Waveshare gibt es einen Konverter, bei dem in der Beschreibung steht, dass er Modbus nicht unterstützt.
Ob das an dem Chip liegt kann ich dir nicht sagen. -
@homoran Mail vom Hersteller:
Die HEX Adresse entspricht ja der Adress ohne die führende 4.
Aber was bedeutet read write multi? -
@mark HEX kann nicht das nur ohne die führende 4 sein.
Hexadezimal ist ein anders Zahlensystem als Dezimal.
Wenn das HEX angaben sind müssen die erst nach Dezimal gewandelt werden
Ich habe mit dem hier immer positive Erfahrungen gemacht
-
@homoran sagte in Modbus EasyCharge Einstellungen:
Das ist read holding register
@mark sagte in Modbus EasyCharge Einstellungen:
was bedeutet read write multi?
siehe die function codes
-
@wendy2702 sagte in Modbus EasyCharge Einstellungen:
Wenn das HEX angaben sind müssen die erst nach Dezimal gewandelt werden
aber die Register in der Liste sind nie und nimmer in Hex!
EDIT:
Doch sind sie, aber zusätzlich!
Bei dem markierten Register sieht man es deutlich.
War jetzt aber zu faul es nachzurechnenEDIT2:
Man könnte dann spaßeshalber mal den Hexwert alleine nehmen und mit Alias arbeiten. -
@homoran ne, in der Liste nicht aber vielleicht die Werte hinter dem Link aus dem Screenshot
-
@wendy2702 sagte in Modbus EasyCharge Einstellungen:
dem Screenshot
das ist die Liste!
vorne steht das Register in Dec, incl. Offset für Holding; dahinter in Hex.
nachdem schon even/none durcheinandergeworfen wurden, traue ich denen Auch einen falschen Offset zu.
Wenn dieser 40001 wäre passen die angegebenen Register in dec. nocht.
deswegen unbedingt die in HEX nehmenIst aber alles Glaskugellesen
-
@homoran said in Modbus EasyCharge Einstellungen:
@homoran sagte in Modbus EasyCharge Einstellungen:
Das ist read holding register
@mark sagte in Modbus EasyCharge Einstellungen:
was bedeutet read write multi?
siehe die function codes
Sorry, ich sehe zwar die codes, weiß aber leide nichts damit anzufangen. Könntest du das einem Laien bitten erklären?
Die Richtigen Grundeinstellungen sind:
Baud: 9600
StopBit: 1
Parität: 0 - none
ID: 2
Zumindest hat das bei der Herstellersoftware funktioniert und mit dem neuen RS485-Controller mit FTDI-chip hat es funktioniert. (bei anderer Parität wurde die Platine nicht gefunden)
Beim IoBroker hab ich diese Einstellungen jetzt angegeben.Dann beim Holding Adresse 40035 (HEX: 00 23). Die Herstellersoftware liefert mir einen Wert. Io-Broker nur Fehlerlog:
modbus.0 2025-02-11 20:44:39.666 debug Cleaning up request fifo. modbus.0 2025-02-11 20:44:39.664 debug Clearing timeout of the current request. modbus.0 2025-02-11 20:44:39.660 info Disconnected from slave modbus.0 2025-02-11 20:44:38.659 warn [DevID_2] Poll error count: 2 code: {"err":"timeout","timeout":5000} modbus.0 2025-02-11 20:44:38.658 error Request timed out. modbus.0 2025-02-11 20:44:38.655 warn Error: undefined modbus.0 2025-02-11 20:44:33.689 error Error response: Data address of some or all the required entities are not allowed or do not exist in slave modbus.0 2025-02-11 20:44:33.688 error Error response for FCx3: Illegal Data Address modbus.0 2025-02-11 20:44:33.651 debug [DevID_2/holdingRegs] Poll address 40035 - 1 registers modbus.0 2025-02-11 20:44:33.650 debug [DevID_2] Poll start --------------------- modbus.0 2025-02-11 20:44:33.647 info Connected to slave modbus.0 2025-02-11 20:44:33.640 debug connect to serial /dev/ttyUSB0 with 9600 modbus.0 2025-02-11 20:43:33.643 debug Cleaning up request fifo. modbus.0 2025-02-11 20:43:33.642 debug Clearing timeout of the current request. modbus.0 2025-02-11 20:43:33.636 info Disconnected from slave modbus.0 2025-02-11 20:43:32.634 warn [DevID_2] Poll error count: 1 code: {"err":"timeout","timeout":5000} modbus.0 2025-02-11 20:43:32.628 error Request timed out. modbus.0 2025-02-11 20:43:32.626 warn Error: undefined modbus.0 2025-02-11 20:43:27.677 error Error response: Data address of some or all the required entities are not allowed or do not exist in slave modbus.0 2025-02-11 20:43:27.675 error Error response for FCx3: Illegal Data Address modbus.0 2025-02-11 20:43:27.610 debug [DevID_2/holdingRegs] Poll address 40035 - 1 registers modbus.0 2025-02-11 20:43:27.607 debug Initialization of scale factors done! modbus.0 2025-02-11 20:43:27.603 debug [DevID_2] Poll start --------------------- modbus.0 2025-02-11 20:43:27.600 info Connected to slave
Das muss jetzt also mit dem "read write multi" zusammenhängen. Was muss ich da im Adapter angeben, dass es funktioniert?
-
@mark sagte in Modbus EasyCharge Einstellungen:
Könntest du das einem Laien bitten erklären?
bei Modbus gibt es verschiedene Funktions Codes mit denen die Geräte angesprochen werden können oder müssen.
Dies kann im Adapter über die Konfigurationen resp. unterschiedliche Reiter erreicht werden.@mark sagte in Modbus EasyCharge Einstellungen:
Dann beim Holding Adresse 40035 (HEX: 00 23). Die Herstellersoftware liefert mir einen Wert. Io-Broker nur Fehlerlog:
da greifst du per FunctionCode 3 zu.
Entweder stimmt die 40035 nicht (40034 oder 40036 probieren!) oder der FC ist falsch, weil der 3 ggf nochb120 weitere Register liest. -
@homoran said in Modbus EasyCharge Einstellungen:
@mark sagte in Modbus EasyCharge Einstellungen:
Könntest du das einem Laien bitten erklären?
bei Modbus gibt es verschiedene Funktions Codes mit denen die Geräte angesprochen werden können oder müssen.
Dies kann im Adapter über die Konfigurationen resp. unterschiedliche Reiter erreicht werden.Ok, das hab ich verstanden.
@mark sagte in Modbus EasyCharge Einstellungen:
Dann beim Holding Adresse 40035 (HEX: 00 23). Die Herstellersoftware liefert mir einen Wert. Io-Broker nur Fehlerlog:
da greifst du per FunctionCode 3 zu.
Entweder stimmt die 40035 nicht (40034 oder 40036 probieren!) oder der FC ist falsch, weil der 3 ggf nochb120 weitere Register liest.Und wie mache ich das? Per FunctionCode 3 zugreifen? Das hab ich nicht verstanden.
Im Internet finde ich die Syntax um den Befehl abzusetzen, aber wie mach ich das im modbus-Adapter?
writeRead(obj,writeAddress,values,readAddress,readCount)Wenn ich das richtig verstanden habe MUSS ich immer schreiben, aber wie?
-
@mark stell zum testen mal die Anzahl gleichzeitig zu lesender Register auf 1