Redflow BMS as a MODBUS-TCP Slave or a JSON server
The Redflow BMS contains internal self-documentation regarding the MODBUS register maps that it supports for lookup from a remote MODBUS Master.
Simply log in to the Redflow BMS and go to the "Help" menu, and select 'Data Access Information'.
The resulting page (see screen shot below) contains two tabs. The first tab ("Field Access Information") lists the MODBUS (and JSON) access details to retrieve system-wide summary data for the entire storage array.
The second tab ("Battery Access Information") lists the MODBUS and JSON access details to retrieve 'per battery' status information.
An example of this page is shown below, however you should simply bring this page up on any active BMS to obtain the latest version.
Importantly - as noted below - the MODBUS unit number to retrieve the 'System Level' information is '201', with the Modbus Register Address and Multiplier and Type fields being as shown. Most field names are self-explanatory.
Contact Redflow support if you require more information about a specific field or if you need to have additional fields created to suit your application.
Please note that the internal BMS communications architecture uses MQTT, and it is also possible to use MQTT topic subscription to obtain BMS status information. Contact Redflow support if you have a business requirement to do this.
The fields commonly accessed include:
- soc_all: The default system State-Of-Charge field - appropriate for most purposes
- ah_all: The default system charge energy total in Amp Hours
- Any_Alarm: A boolean that indicates whether any battery is logging an operational alarm at this time
- Voltage, Current: internal (stack) battery voltage and total system current measured (positive means discharging, negative means charging)
- Bus_Voltage: external battery voltage observed
- Permitted_Charge, Permitted_Discharge: Present capabilities of the battery array in terms of charge and discharge maxima (in amps).
Viewing the current field values
You can view the current values for all calculated fields on-screen on the BMS, by going to the Configuration->Digital I/O page and selecting the 'Fields' tab.