NEWS
Modbus EasyCharge Einstellungen
-
@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
-
@homoran said in Modbus EasyCharge Einstellungen:
@mark stell zum testen mal die Anzahl gleichzeitig zu lesender Register auf 1
bringt trotzdem "illegal Data Address". Auch bei Adresse +-1
-
@mark Versuch mal hier mit Haken
-
@homoran sagte in Modbus EasyCharge Einstellungen:
even war laut Registertanelle fettgedruckt = Werkseinstellumg!?
Also bleiben wir erst mal dabei.jetzt bist du wieder bei none?
da kam die Meldung damals schon
-
@wendy2702 er schreibt doch nicht!
ehervda unten beim Lesen reduzieren
-
-
@homoran said in Modbus EasyCharge Einstellungen:
@homoran sagte in Modbus EasyCharge Einstellungen:
even war laut Registertanelle fettgedruckt = Werkseinstellumg!?
Also bleiben wir erst mal dabei.jetzt bist du wieder bei none?
da kam die Meldung damals schon
Ja, bin bei none weil das bei der Herstellersoftware funktioniert, even funktioniert dort nicht.
-
@homoran said in Modbus EasyCharge Einstellungen:
@wendy2702 er schreibt doch nicht!
ehervda unten beim Lesen reduzieren
Hab beides Probiert, mit Haken, ein Wert auf 1, beide auf 1, dann mal mit 2, ohne Haken, ...
Geht alles nicht -
Das ist die Herstellersoftware:
Adapter wählen (USB-RS485)
mit Baud und Parität den Scan starten, dann erscheint
die Geräte ID - 2
und bei Gerät Verbinden zeigt er die Infos links an.Also müssen die Einstellungen richtig sein und es an der Art die die Register gelesen werden liegen.
-
@mark Kommt da nix im LOG wo man ein register erkennen kann?
Kannst du mal zum testen nur die “35” versuchen?
Ich habe einen Zähler der auch nur was liefert wenn ich, warum auch immer, die “4” weg lasse.
-
@wendy2702 sagte in Modbus EasyCharge Einstellungen:
Kannst du mal zum testen nur die “35” versuchen?
@Mark und zum testen mal mit und ohne "aliases verwenden"
-
@wendy2702 said in Modbus EasyCharge Einstellungen:
@mark Kommt da nix im LOG wo man ein register erkennen kann?
Kannst du mal zum testen nur die “35” versuchen?
Ich habe einen Zähler der auch nur was liefert wenn ich, warum auch immer, die “4” weg lasse.
Das wars! Funktioniert!
Ich fasse die Einstellungen mal zusammen:
Adresse ohne führende 4 (also nur den umgewandelten HEX Wert) UND
Max Leseanforderung: 1In dieser Kombination geht es. Danke an Alle!
Übrigens: Am Raspi geht es auch mit dem vorigen RS485 Adapter, in der originalsoftware nicht.
-
@mark Prima.
Dann poste doch bitte wenn du alle Register eingetragen hast mal einen Export damit andere auch was davon haben.
-
@homoran sagte in Modbus EasyCharge Einstellungen:
Man könnte dann spaßeshalber mal den Hexwert alleine nehmen und mit Alias arbeiten.
...oder ohne
hätte ich noch zufügen sollen