mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-04 18:29:48 +02:00
41 lines
No EOL
1.7 KiB
C++
41 lines
No EOL
1.7 KiB
C++
#include "MODBUS-LUNA2000.h"
|
|
|
|
void update_modbus_registers_luna2000()
|
|
{
|
|
//Updata for ModbusRTU Server for Luna2000
|
|
handle_update_data_modbus39500();
|
|
}
|
|
|
|
void handle_update_data_modbus39500() {
|
|
// Store the data into the array
|
|
static uint16_t system_data[26];
|
|
system_data[0] = 0;
|
|
system_data[1] = capacity_Wh_startup; //Capacity? 5000 with 5kWh battery
|
|
system_data[2] = 0;
|
|
system_data[3] = capacity_Wh_startup; //Capacity? 5000 with 5kWh battery
|
|
system_data[4] = 0;
|
|
system_data[5] = 2500; //???
|
|
system_data[6] = 0;
|
|
system_data[7] = 2500; //???
|
|
system_data[8] = (SOC/100); //SOC 0-100%, no decimals
|
|
system_data[9] = 1; //Running status, equiv to register 37762, 0 = Offline, 1 = Standby,2 = Running, 3 = Fault, 4 = sleep mode
|
|
system_data[10] = battery_voltage; //Battery bus voltage (766.5V = 7665)
|
|
system_data[11] = 9; //TODO, GOES LOWER WITH LOW SOC
|
|
system_data[12] = 0;
|
|
system_data[13] = 699; //TODO, GOES LOWER WITH LOW SOC
|
|
system_data[14] = 1; //Always 1 in logs
|
|
system_data[15] = 18; //Always 18 in logs
|
|
system_data[16] = 8066; //TODO, GOES HIGHER WITH LOW SOC (max allowed charge W?)
|
|
system_data[17] = 17;
|
|
system_data[18] = 44027; //TODO, GOES LOWER WITH LOW SOC
|
|
system_data[19] = 0;
|
|
system_data[20] = 435; //Always 435 in logs
|
|
system_data[21] = 0;
|
|
system_data[22] = 0;
|
|
system_data[23] = 0;
|
|
system_data[24] = (SOC/10); //SOC 0-100.0%, 1x decimal
|
|
system_data[25] = 0;
|
|
system_data[26] = 1; //Always 1 in logs
|
|
static uint16_t i = 9500;
|
|
memcpy(&mbPV[i], system_data, sizeof(system_data));
|
|
} |