using System.ComponentModel; namespace Nutcracker.Technologies.Modbus { // These values are from the document "ROVER MODBUS.docx" supplied by Renogy Inc. // // note count () is in bytes. Modbus registers are two bytes each // and modbus addresses are 16 bit word addresses, not byte addresses. public enum RegisterAddresses { [Description("Operating Parameters")] Operating_Parameters = 0x000A, // 2 [Description("Operating Parameters 2")] Operating_Parameters_2 = 0x000B, // 2 [Description("Product Model.")] Product_Model = 0x000C, // 16 [Description("Product Model.")] PDU_Addresses = 0x000D, // 17 [Description("product software version")] Product_Software_Hardware_Versions = 0x0014, // 4 [Description("product serial number")] Product_Serial_Number = 0x0018, // 4 [Description("Battery capacity SOC (state of charge)")] Battery_capacity_SOC = 0x0100, // 2 [Description("Battery voltage * 0.1")] Battery_voltage = 0x0101, // 2 [Description("Charging current to battery * 0.01")] Charging_Current_To_Battery = 0x0102, // 2 [Description("Upper byte controller temperature bit 7 sign, bits 0 - 6 value")] Upper_Byte_Controller_Temperature = 0x0103, // 2 [Description("Device load voltage")] Device_Load_Voltage = 0x0104, // 2 [Description("Device load current")] Device_Load_Current = 0x0105, // 2 [Description("Device load power")] Device_Load_Power = 0x0106, // 2 [Description("Solar panel voltage * 0.1")] Solar_Panel_Voltage = 0x0107, // 2 [Description("Solar panel current * 0.01")] Solar_Panel_Current = 0x0108, // 2 [Description("Charging Power actual value")] Charging_Power_Actual_Value = 0x0109, // 2 [Description("light on/off command (write only 0 for off, 1 for on)")] Light_On_Off_Command = 0x010A, // 2 [Description("Battery min voltage of current day * 0.1")] Battery_Min_Voltage_For_Current_Day = 0x010B, // 2 [Description("Battery max voltage of current day * 0.1")] Battery_Max_Voltage_For_Current_Day = 0x010C, // 2 [Description("max charging current of current day * 0.01")] Max_Charging_Current_For_Current_Day = 0x010D, // 2 [Description("max discharging current of current day * 0.01")] Max_Discharging_Current_For_Current_Day = 0x010E, // 2 [Description("max charging power of the current day actual value")] Max_Charging_Power_For_Current_Day_Actual_Value = 0x010F, // 2 [Description("max discharging power of the current day actual value")] Max_Discharging_Power_For_Current_Day_Actual_Value = 0x0110, // 2 [Description("charging amp hours of the current day actual value")] charging_Amp_Hours_For_Current_Day_Actual_Value = 0x0111, // 2 [Description("discharging amp hours of the current day actual value")] Discharging_Amp_Hours_For_Current_Day_Actual_Value = 0x0112, // 2 [Description("power generation of the current day actual value")] Power_Generation_For_Current_Day_Actual_Value = 0x0113, // 2 [Description("power consumption of the current day actual value")] Power_Consumption_For_Current_Day_Actual_Value = 0x0114, // 2 [Description("total number of operating days")] Total_Number_Of_Operating_Days = 0x0115, // 2 [Description("total number of battery over-discharges")] Total_Number_Of_Battery_Over_Discharges = 0x0116, // 2 [Description("total number of battery full discharges")] Total_Number_Of_Battery_Full_Discharges = 0x0117, // 2 [Description("total charging amp-hrs of the battery actual value")] Total_Charging_Amp_Hrs_For_Battery_Actual_Value = 0x0118, // 4 [Description("total discharging amp-hrs of the battery actual value")] Total_Discharging_Amp_Hrs_For_Battery_Actual_Value = 0x011A, // 4 [Description("cumulative power generation actual value")] Cumulative_Power_Generation_Actual_Value = 0x011C, // 4 [Description("cumulative power consumption actual value")] Cumulative_Power_Consumption_Actual_Value = 0x011E, // 4 [Description("charging state in 8 lower bits.")] Charging_State_In_8_Lower_Bits = 0x0120, // 2 [Description("controller fault and warning information")] Controller_Fault_And_Warning_Information = 0x0121, // 4 Battery_Type = 0xE004 } }