[ModBus Vorlage] JKBMS-PBXX

Moin! Hier eine frühe erste Version für die Abfrage des neuen JKBMS. Ich Frage erfolgreich zwei JKBMS über ein RS485toEthernet Adapter ab. Fehlermeldungen und schreiben Richtung BMS habe ich noch nicht umgesetzt.

modbus_JK_PBXX_v1.json (17,5 KB)


1 „Gefällt mir“

Erweiterung um Alarmmeldungen (ungetestet), sowie Temp 3+4

modbus_JK_PBXX_v2.json (23,5 KB)

Hi, mit welcher Baudrate kommuniziert das JK-BMS über den RS485?

Läuft bei mir auf 115200

1 „Gefällt mir“

so, läuft bei mir. Perfekt. Vielen Dank für Deine Vorarbeit!
Hast Du eine Ahnung wie das BMS dem Inverter mitteilt, wann von RCV auf RFV umgeschaltet wird?
Gibt es dazu eine Statusvariable oder eine Soll-Spannungsvorgabe an den Inverter?
Eine Variable, die man noch in die Vorlage aufnehmen kann?

So auf Anhieb nicht, ich bin aber auch noch nicht fertig. Bin im Moment bei den Heizung, LCD Always ON, Laden, Entladen, Balancen etc… Status.
Bei einigen Parametern bin ich mir auch nicht sicher was sie bedeuten. Ich hänge hier mal das Protokoll an, vielleicht findest du ja noch was Interessantes.
JK_BMS.RS485.Modbus.v1_0 (1).pdf (260,3 KB)
santes. :slight_smile:

hier die Register etwas besser lesbar…
ohne Gewähr!
JK RS485 Modbus Register v1.pdf (74,7 KB)

Hallo, du hast sie nicht parallel am laufen und fragst sie einzeln ab? Weil sie
ja normalerweise vernetzt sind als Master und Slave.

Gruß Michael

Hi, so ganz verstehe ich deine Frage nicht. Ich habe aktuell zwei Batteriepacks mit jeweils ein JKBMS. Diese sind per Datenkabel untereinander verbunden. Einer ist Master, einer Slave.
Beide BMS rufe ich getrennt ab und bekomme von jeden einzelnen BMS auch getrennt die Daten. Abfrage geschieht anhand der ID laut Dip Switch am BMS.

Hallo DeejayT
Habe ebenfalls ein JK BMS und möchte mir das auch realisieren
Habe nun alles eingerichtet aber bei der Abfrage bekomme ich immer
23.03.2025, 10:27:04 | TimerPool | ModBus Gerät (UpdateTimer): Strom: Die empfangene Antwort stimmt nicht mit der Anfrage überein. Angefordert: 3, Empfangen: 10
Was mache ich falsch?
Gruß Christian

Habe nun alles richtig gestellt und den Fehler gefunden:
Es waren beim Kommunikationsboard von JK BMS alle 4 Dip Schalter auf aus gestellt,
weil ich ja nur ein Akkupack habe. Daher habe ich bei IP Symcon in den Instanzen als Geräte ID 0 eingetragen das aber nicht funktionierte.
Bei der Geräte ID Einstellung 1 hatte ich die gesagten Fehlermeldungen, das die empfangene Antwort nicht mit der Anfrage überein stimmt.
Ich habe nun beim Kommunikationsport von JK den Dip Schalter 1 auf ON gestellt und bei der Geräte ID in IP Symcon ebenfalls auf 1.
Jetzt bekomme ich die Daten perfekt rein.
Danke für das Script!

Hallo,
welchen rs485 to Ethernet verwendet ihr?
Ich habe es jetzt mit einem Waveshare rs485 POE versucht, leider ohne Erfolg.
Baudrate steht 115200.

Danke
Christian

Hallo,
ich habe kürzlich um ein 2.Speicher mit JK-BMS erweitert.
Da die JK-BMS Firmware immer noch buggy ist (19.10), überwache ich zusätzlich mit IPS und greife ein, wenn z.B. das 0% Limit unterschritten wird.

Allerdings habe ich das Problem, dass nicht mehr alle Modbus-Werte aktualisiert werden. Manchmal dauert es Stunden, bis die letzten 2-3 Werte aktualisiert werden.
Die ersten Werte in der Liste gehen immer recht schnell, aber auch nicht genau in dem eingestellten Abfrageintervall.
Im Meldungsfenster kommt dann ein Timeout zu einer Variable und auch alle weiteren danach werden nicht mehr aktualisiert.
Ich habe nun von 115200 auf 9600 runter gestellt und so geht es.

Über den Waveshare 4x RS485 to ETH frage ich neben den JK-BMSen auch noch den Deye ab.
Ein Solaredge wird direkt über Modbus TCP abgefragt und auch die Heizung wird über Modbus abgefragt/gesteuert.

Muss ich da irgend ein Puffer im IPS über die Spezialschalter vergrößern, damit ich wieder mit 115200 abfragen kann?

diese Fehlermeldung taucht dazu auch immer wieder mal auf. Auch bei nur 9600 baud:

hast du eine lösung dafür gefunden ?
ich habe fast das gleiche problem bei mir aktualiesiert sich das alle nur sehr sporadisch oder die zell spannungen kommen garnicht

Hi, zwischenzeitlich habe ich den Symcon Support befragt, aber Verwertbares kam dabei nicht raus. Sie haben angeboten ein Debug-Log zu untersuchen.
Dazu habe ich dann von 9600 Baud wieder auf 115.200 hoch gestellt und auf einmal läuft es problemlos. Nur die Aktualisierung der abgefragten Daten kommt nicht genau in dem eingestellten Intervall. Was jetzt aber nicht so schlimm ist.

ok

ich habe das problem das sich die zellspannungen garnicht aktualiesieren

bin immer noch auf der suche nach dem problem

aber das problem habe ich auch bei anderen modbus vorlagen das macnhe werte soch einfach garnicht aktualiesieren

wie hast du deine bms angeschlosen ?

auch als daisy chain mit master un slave ?

Ich habe mir ein Y-Adapter gebaut. Also hängen beide BMSe parallel an der RS485 Leitung.

Ich glaube wenn ein Wert bei der Abfrage Probleme macht, werden die darauf folgenden auch nicht mehr abgefragt. Versuch mal den davor liegenden Wert abzuschalten, vielleicht klappt es dann mit den Zellspannungen.

Ansonsten kannst Du ja auch mal mit 9600 Baud testen. Und/oder die diversen timeouts mal hochsetzen oder Abfrageinterval verlängern.

Vielleicht hast Du auch Trouble auf dem Netzwerk. Mal am Switch andere abstecken.

Viel Erfolg!