BMW BMW BMW Modbus RTU template

BMW BMW

Het BMW-batterijopslagsysteem is een stationaire energieopslag op basis van BMW-hoogspanningsaccu's, ingezet in commerciële en industriële installaties die via OpenEMS worden beheerd. Deze template maakt verbinding via Modbus RTU en leest een uitgebreide set BMS-registers: state of charge, state of health, DC-linkspanning, pakstroom, celspanningen in millivolt, cel- en paktemperaturen, isolatieweerstand, string-topologie, resterende laad- en ontlaadenergie en het totale cyclusteller. Met het schrijfbare commando-register kan het EMS toestandsovergangen aansturen. ModbusCloud maakt deze data direct beschikbaar voor monitoring, meldingen en langetermijnanalyse.

Protocol
Modbus RTU
Aansluiting
RS485
Registers
36, lezen en schrijven
Merk
BMW
Laatst bijgewerkt

Registers (36)

35 lezen, 1 schrijven

NaamEenheidToegangAdres (Verborgen tot je je e-mailadres invult)Functie (verborgen)Type (verborgen)
battery_state_commandSchrijven
battery_stateLezen
max_operating_currentALezen
min_operating_currentALezen
charge_max_voltageVLezen
discharge_min_voltageVLezen
bp_discharge_bmsLezen
bp_charge_bmsLezen
max_dynamic_voltageVLezen
min_dynamic_voltageVLezen
connected_string_numbercountLezen
installed_string_numbercountLezen
battery_total_soc%Lezen
battery_soc%Lezen
remaining_charge_capacityLezen
remaining_discharge_capacityLezen
remaining_charge_energyWhLezen
remaining_discharge_energyWhLezen
nominal_energyWhLezen
nominal_energy_totalLezen
nominal_capacityLezen
capacityWhLezen
soh%Lezen
link_voltageVLezen
internal_voltageVLezen
currentALezen
avg_battery_temperature°CLezen
min_cell_temperature°CLezen
max_cell_temperature°CLezen
min_cell_voltagemVLezen
max_cell_voltagemVLezen
avg_cell_temperature°CLezen
insulation_resistanceLezen
discharge_max_current_high_resolutionALezen
charge_max_current_high_resolutionALezen
full_cycle_countcountLezen

Registers laden…

Stuur jouw apparatenlijst

Staat een apparaat niet in de bibliotheek, dan maken we de template gratis zodra we de registers hebben.

Aantal installaties (optioneel)

Gebruikstoepassingen

  • Vergelijk battery_total_soc met battery_soc om onbalans tussen aangesloten strings tijdig te signaleren.
  • Volg soh en full_cycle_count om preventief onderhoud in te plannen voordat de capaciteit onder de drempelwaarde daalt.
  • Stel meldingen in op min_cell_voltage en max_cell_voltage om celdrift te detecteren voordat de BMS uitschakelt.
  • Controleer of connected_string_number overeenkomt met installed_string_number na onderhoud om te bevestigen dat alle strings online zijn.
  • Log insulation_resistance over tijd om vroege isolatiefouten in de hoogspanningsbehuizing op te sporen.

Installatie

  1. Controleer of het BMW-batterijsysteem is ingesteld voor Modbus RTU-communicatie en noteer het RS485-slaveadres in de BMS- of systeemcontrollerinstellingen.

  2. Sluit de RS485 A- en B-aders van de Modbus-poort van het batterijsysteem aan op de seriële aansluitingen van de ModbusCloud Gateway, let op de polariteit en plaats aan elk uiteinde van de bus een afsluitweerstand van 120 ohm.

  3. Voeg in het ModbusCloud-portaal de Gateway toe, maak een nieuw apparaat aan, importeer de BMW-batterijtemplate en stel het Modbus-unit-ID in op het slaveadres van de accu.

  4. Doe een live poll op register 1016 (battery_total_soc) en register 1026 (soh) via de portaalconsole om te bevestigen dat de waarden correct binnenkomen voordat je de volledige dashboardverzameling inschakelt.

Veelvoorkomende aandachtspunten

Alle registers geven nul of een foutmelding terug. Wat moet ik controleren?

Controleer als eerste de RS485-bedrading: verwisselde A- en B-aders zijn de meest voorkomende oorzaak. Verifieer daarna of het Modbus-slaveadres in het portaal overeenkomt met het adres op de BMW BMS. Controleer ook of de baudrate en pariteit van de Gateway overeenkomen met de RS485-configuratie van de accu, doorgaans 9600 of 19200 baud, 8 databits, geen pariteit.

battery_total_soc en battery_soc wijken van elkaar af. Is dat normaal?

Ja, wanneer meerdere strings geïnstalleerd zijn maar niet allemaal aangesloten, lopen de twee registers uiteen. battery_total_soc (adres 1016) telt alle geïnstalleerde strings op, battery_soc (adres 1017) geeft de actieve string weer. Vergelijk beide met connected_string_number en installed_string_number om te zien of een string offline is gegaan.

min_cell_voltage en max_cell_voltage tonen onverwacht hoge getallen. Waarom?

Beide registers gebruiken millivolt als eenheid, dus een waarde van 3500 staat voor 3,5 V per cel. Deel ruwe waarden door 1000 om naar volt te converteren. Controleer in je dashboardconfiguratie of de eenheid op mV staat en pas indien nodig de schalingsfactor aan.

Is het veilig om tijdens normaal bedrijf naar battery_state_command te schrijven?

Wees voorzichtig met schrijfregister 1400. Een onbedoeld toestandstransitiecommando tijdens actief laden of ontladen kan de BMS ertoe brengen contactors te openen, wat lopende cycli onderbreekt en beveiligingsvergrendelingen kan activeren. Stuur commando's alleen als het systeem in rust is en volg altijd de gedocumenteerde toestandsovergangen van het BMW-batterijsysteem.

Meer RTU-templates

Elektricien aan het werk in een open verdeelkast