{
  "manufacturer": "huawei",
  "model": "SUN2000 8-28KTL",
  "device": "SUN2000 8-28KTL",
  "category": "Altro",
  "protocol": "modbus",
  "version": "v1",
  "firmware": null,
  "verification": "IMPORTED",
  "isDemo": false,
  "source": {
    "title": "Import PDF HUAWEI_SUN2000_245KTL28KTL_MODBUS_Interface_Definitions_20150715_JP.pdf",
    "url": null,
    "documentRef": null,
    "revision": null
  },
  "generatedAt": "2026-09-21T14:44:21.358Z",
  "registers": [
    {
      "address": "40002",
      "addressNumeric": 1,
      "signal": "grid_code",
      "name": "Grid code",
      "description": "Range 0-23.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40004",
      "addressNumeric": 3,
      "signal": "mppt_setting",
      "name": "MPPT setting",
      "description": "0=Disable, 1=Enable.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40006",
      "addressNumeric": 5,
      "signal": "level_1_uf_prot",
      "name": "Level-1 UF prot.",
      "description": "Range 85%-100%Fn.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "Hz",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40007",
      "addressNumeric": 6,
      "signal": "level_1_uf_prot_time",
      "name": "Level-1 UF prot. time",
      "description": "Range 50-600000.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "ms",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40009",
      "addressNumeric": 8,
      "signal": "level_2_uf_prot",
      "name": "Level-2 UF prot.",
      "description": "Range 85%-100%Fn.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "Hz",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40010",
      "addressNumeric": 9,
      "signal": "level_2_uf_prot_time",
      "name": "Level-2 UF prot. time",
      "description": "Range 50-600000.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "ms",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40012",
      "addressNumeric": 11,
      "signal": "10_min_ov_protec",
      "name": "10-min OV protec.",
      "description": "Range 100%-140%Vn.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "V",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40013",
      "addressNumeric": 12,
      "signal": "10_min_ov_protec_time",
      "name": "10-min OV protec. time",
      "description": "Range 50-600000.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "ms",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40015",
      "addressNumeric": 14,
      "signal": "mppt_scanning_interval",
      "name": "MPPT scanning interval",
      "description": "Range 5-30.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "min",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40022",
      "addressNumeric": 21,
      "signal": "insulation_res_protec",
      "name": "Insulation res. protec.",
      "description": "Range 0.033-1.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.001,
      "offset": 0,
      "unit": "MΩ",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40023",
      "addressNumeric": 22,
      "signal": "unbal_volt_protec",
      "name": "Unbal. volt. protec.",
      "description": "Range 0-50.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "%",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40032",
      "addressNumeric": 31,
      "signal": "reactive_power_compensation_cos_p_trigger_voltage",
      "name": "Reactive power compensation (cosψ-P) trigger voltage",
      "description": "Range 100-110.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "%",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40033",
      "addressNumeric": 32,
      "signal": "reactive_power_compensation_cos_p_exit_voltage",
      "name": "Reactive power compensation (cosψ-P) exit voltage",
      "description": "Range 90-100.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "%",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40034",
      "addressNumeric": 33,
      "signal": "overfrequency_deration_trigger_threshold",
      "name": "Overfrequency deration trigger threshold",
      "description": "Range 50-52.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "Hz",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40035",
      "addressNumeric": 34,
      "signal": "overfrequency_deration_exit_threshold",
      "name": "Overfrequency deration exit threshold",
      "description": "Range 49.9-51.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "Hz",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40036",
      "addressNumeric": 35,
      "signal": "overfrequency_deration_recovery_gradient",
      "name": "Overfrequency deration recovery gradient",
      "description": "Range 5-20.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "%/min",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40037",
      "addressNumeric": 36,
      "signal": "q_u_characteristic_curve_mode",
      "name": "Q-U characteristic curve mode",
      "description": "Range 0-1.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40038",
      "addressNumeric": 37,
      "signal": "q_u_dispatch_trigger_power_percent",
      "name": "Q-U dispatch trigger power percent",
      "description": "Range 10-100.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "%",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40041",
      "addressNumeric": 40,
      "signal": "soft_startup_time_after_grid_failure",
      "name": "Soft startup time after grid failure",
      "description": "Range 20-800.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "s",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40051",
      "addressNumeric": 50,
      "signal": "lvrt",
      "name": "LVRT",
      "description": "00=Disable, 01=Enable.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40052",
      "addressNumeric": 51,
      "signal": "enable_islanding_detection_setting",
      "name": "Enable islanding detection setting",
      "description": "00=Disable, 01=Enable.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40053",
      "addressNumeric": 52,
      "signal": "soft_start_time",
      "name": "Soft start time",
      "description": "Range 20-800.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "s",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40054",
      "addressNumeric": 53,
      "signal": "level_1_ov_prot",
      "name": "Level-1 OV prot.",
      "description": "Range 100%-140%Vn.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "V",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40055",
      "addressNumeric": 54,
      "signal": "level_1_ov_prot_time",
      "name": "Level-1 OV prot. time",
      "description": "Range 50-600000.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "ms",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40057",
      "addressNumeric": 56,
      "signal": "level_2_ov_prot",
      "name": "Level-2 OV prot.",
      "description": "Range 100%-140%Vn.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "V",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40058",
      "addressNumeric": 57,
      "signal": "level_2_ov_prot_time",
      "name": "Level-2 OV prot. time",
      "description": "Range 50-600000.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "ms",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40060",
      "addressNumeric": 59,
      "signal": "level_1_uv_prot",
      "name": "Level-1 UV prot.",
      "description": "Range 10%-100%Vn.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "V",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40061",
      "addressNumeric": 60,
      "signal": "level_1_uv_prot_time",
      "name": "Level-1 UV prot. time",
      "description": "Range 50-600000.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "ms",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40063",
      "addressNumeric": 62,
      "signal": "level_2_uv_prot",
      "name": "Level-2 UV prot.",
      "description": "Range 10%-100%Vn.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "V",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40064",
      "addressNumeric": 63,
      "signal": "level_2_uv_prot_time",
      "name": "Level-2 UV prot. time",
      "description": "Range 50-600000.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "ms",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40066",
      "addressNumeric": 65,
      "signal": "level_1_of_prot",
      "name": "Level-1 OF prot.",
      "description": "Range 100%-115%Fn.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "Hz",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40067",
      "addressNumeric": 66,
      "signal": "level_2_of_prot_time_nome_cosi_nel_documento",
      "name": "Level-2 OF prot. time (nome cosi' nel documento)",
      "description": "Range 50-600000. ATTENZIONE: il documento chiama questo registro \"Level-2 OF prot. time\" ma la sua posizione (subito dopo Level-1 OF prot. a 40066, prima di Level-2 OF prot. a 40069) suggerisce che sia in realta' il tempo di Level-1. Trascritto cosi' com'e' nel documento originale.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "ms",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40069",
      "addressNumeric": 68,
      "signal": "level_2_of_prot",
      "name": "Level-2 OF prot.",
      "description": "Range 100%-115%Fn.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "Hz",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40070",
      "addressNumeric": 69,
      "signal": "level_2_of_prot_time",
      "name": "Level-2 OF prot. time",
      "description": "Range 50-600000.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "ms",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40076",
      "addressNumeric": 75,
      "signal": "feed_grid_recovery_time",
      "name": "Feed grid recovery time",
      "description": "Range 10-600.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "s",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40117",
      "addressNumeric": 116,
      "signal": "reactive_power_compensation",
      "name": "Reactive power compensation",
      "description": "0=Disable reactive power output, 1=Communication adjustment power factor, 2=Parameter setting Q/S, 3=Parameter setting power factor, 4=Q(u) characteristic curve, 5=Power factor characteristic curve.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40118",
      "addressNumeric": 117,
      "signal": "active_power_control",
      "name": "Active power control",
      "description": "0=Disable active power limiting, 1=Communication limit percentage(%), 2=Parameter setting absolute value kW, 3=Parameter setting percentage setting[fixed value].",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40119",
      "addressNumeric": 118,
      "signal": "active_power_deration_setting_percentage",
      "name": "Active power deration setting [percentage]",
      "description": "Range 0-100.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "%",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40120",
      "addressNumeric": 119,
      "signal": "active_power_deration_setting_fixed_value",
      "name": "Active power deration setting [fixed value]",
      "description": "Range 0-22.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "kW",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40121",
      "addressNumeric": 120,
      "signal": "active_power_deration_gradient",
      "name": "Active power deration gradient",
      "description": "Range 0.5-10.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "%/s",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40122",
      "addressNumeric": 121,
      "signal": "reactive_power_compensation_setting_power_factor",
      "name": "Reactive power compensation setting [power factor]",
      "description": "0 <= |a| <= 1.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.001,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40123",
      "addressNumeric": 122,
      "signal": "reactive_power_compensation_setting_q_s",
      "name": "Reactive power compensation setting [Q/S]",
      "description": "-1 to 1.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.001,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40124",
      "addressNumeric": 123,
      "signal": "reactive_power_adjustment_time",
      "name": "Reactive power adjustment time",
      "description": "Range 5-120.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "s",
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40200",
      "addressNumeric": 199,
      "signal": "power_on",
      "name": "Power on",
      "description": "Comando, valore fisso 0.",
      "functionCode": 6,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40201",
      "addressNumeric": 200,
      "signal": "power_off",
      "name": "Power off",
      "description": "Comando, valore fisso 0.",
      "functionCode": 6,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40234",
      "addressNumeric": 233,
      "signal": "active_power_deration_percent",
      "name": "Active power deration percent",
      "description": "Range 0-100.",
      "functionCode": 6,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": "%",
      "access": "WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40237",
      "addressNumeric": 236,
      "signal": "reactive_power_compensation_factor_instruction",
      "name": "Reactive power compensation factor instruction",
      "description": "-1 to 1.",
      "functionCode": 6,
      "datatype": "int16",
      "length": 1,
      "scale": 0.001,
      "offset": 0,
      "unit": null,
      "access": "WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40500",
      "addressNumeric": 499,
      "signal": "pv1_voltage",
      "name": "PV1 Voltage",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40501",
      "addressNumeric": 500,
      "signal": "pv2_voltage",
      "name": "PV2 Voltage",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40502",
      "addressNumeric": 501,
      "signal": "pv3_voltage",
      "name": "PV3 Voltage",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40503",
      "addressNumeric": 502,
      "signal": "pv4_voltage",
      "name": "PV4 Voltage",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40504",
      "addressNumeric": 503,
      "signal": "pv5_voltage",
      "name": "PV5 Voltage",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40505",
      "addressNumeric": 504,
      "signal": "pv6_voltage",
      "name": "PV6 Voltage",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40506",
      "addressNumeric": 505,
      "signal": "pv1_current",
      "name": "PV1 Current",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40507",
      "addressNumeric": 506,
      "signal": "pv2_current",
      "name": "PV2 Current",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40508",
      "addressNumeric": 507,
      "signal": "pv3_current",
      "name": "PV3 Current",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40509",
      "addressNumeric": 508,
      "signal": "pv4_current",
      "name": "PV4 Current",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40510",
      "addressNumeric": 509,
      "signal": "pv5_current",
      "name": "PV5 Current",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40511",
      "addressNumeric": 510,
      "signal": "pv6_current",
      "name": "PV6 Current",
      "description": "Per tutte le classi di potenza.",
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40523",
      "addressNumeric": 522,
      "signal": "co2_reduction",
      "name": "CO2 reduction",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.01,
      "offset": 0,
      "unit": "kg",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40525",
      "addressNumeric": 524,
      "signal": "active_power",
      "name": "Active power",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40527",
      "addressNumeric": 526,
      "signal": "uab",
      "name": "Uab",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40528",
      "addressNumeric": 527,
      "signal": "ubc",
      "name": "Ubc",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40529",
      "addressNumeric": 528,
      "signal": "uca",
      "name": "Uca",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40532",
      "addressNumeric": 531,
      "signal": "power_factor",
      "name": "Power factor",
      "description": null,
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.001,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40533",
      "addressNumeric": 532,
      "signal": "cabinet_temperature",
      "name": "Cabinet temperature",
      "description": null,
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.1,
      "offset": 0,
      "unit": "°C",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40544",
      "addressNumeric": 543,
      "signal": "reactive_output_power",
      "name": "Reactive output power",
      "description": null,
      "functionCode": 3,
      "datatype": "int32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kVar",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40546",
      "addressNumeric": 545,
      "signal": "frequency",
      "name": "Frequency",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "Hz",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40560",
      "addressNumeric": 559,
      "signal": "e_total",
      "name": "E-Total",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.01,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40562",
      "addressNumeric": 561,
      "signal": "current_day_yield",
      "name": "Current-day yield",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.01,
      "offset": 0,
      "unit": "kWh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40572",
      "addressNumeric": 571,
      "signal": "ia",
      "name": "Ia",
      "description": null,
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40573",
      "addressNumeric": 572,
      "signal": "ib",
      "name": "Ib",
      "description": null,
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40574",
      "addressNumeric": 573,
      "signal": "ic",
      "name": "Ic",
      "description": null,
      "functionCode": 3,
      "datatype": "int16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40613",
      "addressNumeric": 612,
      "signal": "inverter_start_time",
      "name": "Inverter start time",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "s",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40615",
      "addressNumeric": 614,
      "signal": "inverter_shutdown_time",
      "name": "Inverter shutdown time",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "s",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40685",
      "addressNumeric": 684,
      "signal": "inverter_efficiency",
      "name": "Inverter efficiency",
      "description": null,
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 0.01,
      "offset": 0,
      "unit": "%",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40686",
      "addressNumeric": 685,
      "signal": "mppt1_total_input_power",
      "name": "MPPT1 total input power",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40688",
      "addressNumeric": 687,
      "signal": "mppt2_total_input_power",
      "name": "MPPT2 total input power",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40690",
      "addressNumeric": 689,
      "signal": "mppt3_total_input_power",
      "name": "MPPT3 total input power",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40692",
      "addressNumeric": 691,
      "signal": "total_input_power",
      "name": "Total input power",
      "description": null,
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 0.001,
      "offset": 0,
      "unit": "kW",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40696",
      "addressNumeric": 695,
      "signal": "zero_voltage_ride_through_protection",
      "name": "Zero voltage ride through protection",
      "description": "0=no, 1=yes.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40697",
      "addressNumeric": 696,
      "signal": "lvrt_protection",
      "name": "LVRT protection",
      "description": "0=no, 1=yes.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40698",
      "addressNumeric": 697,
      "signal": "anti_islanding",
      "name": "Anti-islanding",
      "description": "0=no, 1=yes.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40699",
      "addressNumeric": 698,
      "signal": "locking",
      "name": "Locking",
      "description": "0=lock, 1=not lock.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40710",
      "addressNumeric": 709,
      "signal": "rated_inverter_power",
      "name": "Rated inverter power",
      "description": "Codice modello. Vedi tabella \"Mapping Between Inverter Models and Rated Power\" nel documento originale: 0=20KTL, 1=17KTL, 2=15KTL, 3=12KTL, 4=10KTL, 5=8KTL, 9=500KTL, 16=24.5KTL, 17=23KTL, 18=28KTL, 19=33KTL, 20=40KTL.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40713",
      "addressNumeric": 712,
      "signal": "esn",
      "name": "ESN",
      "description": "Stringa ASCII multi-registro (MLD), 10 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40789",
      "addressNumeric": 788,
      "signal": "hardware_version",
      "name": "Hardware version",
      "description": "Stringa ASCII multi-registro (MLD), 15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40819",
      "addressNumeric": 818,
      "signal": "software_version",
      "name": "Software version",
      "description": "Stringa ASCII multi-registro (MLD), 15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40834",
      "addressNumeric": 833,
      "signal": "modbus_protocol_version",
      "name": "ModBus protocol version",
      "description": "Stringa ASCII multi-registro (MLD), 15 registri.",
      "functionCode": 3,
      "datatype": "string",
      "length": null,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40931",
      "addressNumeric": 930,
      "signal": "inverter_on_off_status",
      "name": "Inverter on/off status",
      "description": "Bit1: 1=grid-tied, 0=shutdown.",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40939",
      "addressNumeric": 938,
      "signal": "inverter_status",
      "name": "Inverter status",
      "description": "0x0000=Idle:Initializing, 0x0001=Idle:ISO Detecting, 0x0002=Idle:Irradiation Detecting, 0x0100=Starting, 0x0200=On-grid, 0x0201=On-grid:Limited, 0x0300=Shutdown:Abnormal, 0x0301=Shutdown:Forced, 0x0401=Grid Dispatch:cosψ-P Curve, 0x0402=Grid Dispatch:Q-U Curve, 0xA000=Idle:No Irradiation.",
      "functionCode": 3,
      "datatype": "uint16",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40000",
      "addressNumeric": 40000,
      "signal": "date_and_time_synchronization",
      "name": "Date and time synchronization",
      "description": "Range 0-3155759999.",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ_WRITE",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50000",
      "addressNumeric": 50000,
      "signal": "alarm_word_0x50000",
      "name": "Alarm word (0x50000)",
      "description": "bit0x01 Abnormal String1(AlarmID106,CauseID1,Warning); bit0x02 Abnormal String2(107,1,Warning); bit0x03 Abnormal String3(108,1,Warning); bit0x04 Abnormal String4(109,1,Warning); bit0x05 Abnormal String5(110,1,Warning); bit0x06 Abnormal String6(111,1,Warning); bit0x0A Software Ver. Unmatch(504,1,Minor); bit0x0C Upgrade Failed(505,1,Major); bit0x0D Flash Fault(61440,1,Minor).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50001",
      "addressNumeric": 50001,
      "signal": "alarm_word_0x50001",
      "name": "Alarm word (0x50001)",
      "description": "bit0x01 Software Ver. Unmatch(504,2,Minor); bit0x02 Software Ver. Unmatch(504,3,Minor); bit0x03 System Fault(400,1,Major); bit0x06 Abnormal Inv. Circuit(202,20,Major); bit0x07 Abnormal Resid. Cur.(318,1,Major); bit0x08 Cabinet Overtemp.(321,1,Major); bit0x09 Cabinet Overtemp.(321,2,Major); bit0x0F System Fault(400,5,Major).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50002",
      "addressNumeric": 50002,
      "signal": "alarm_word_0x50002",
      "name": "Alarm word (0x50002)",
      "description": "bit0x00 Low Insulation Res.(313,1,Major); bit0x06 Cabinet Overtemp.(321,6,Major); bit0x09 String 3 Reversed(122,1,Warning); bit0x0F System Fault(400,23,Major).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50003",
      "addressNumeric": 50003,
      "signal": "alarm_word_0x50003",
      "name": "Alarm word (0x50003)",
      "description": "bit0x01 String1 Reversed(120,1,Warning); bit0x02 String2 Reversed(121,1,Warning); bit0x06 String4 Reversed(123,1,Warning); bit0x07 String5 Reversed(124,1,Warning); bit0x08 String6 Reversed(125,1,Warning); bit0x09 High DC Input Volt.(103,1,Major); bit0x0A High DC Input Volt.(103,2,Major); bit0x0B High DC Input Volt.(103,3,Major).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50004",
      "addressNumeric": 50004,
      "signal": "alarm_word_0x50004",
      "name": "Alarm word (0x50004)",
      "description": "bit0x01 Cabinet Overtemp.(321,14,Major); bit0x02 String1 Reversed(120,2,Warning); bit0x03 String2 Reversed(121,2,Warning); bit0x0C String3 Reversed(122,2,Warning); bit0x0D String4 Reversed(123,2,Warning); bit0x0E String5 Reversed(124,2,Warning); bit0x0F String6 Reversed(125,2,Warning).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50005",
      "addressNumeric": 50005,
      "signal": "alarm_word_0x50005",
      "name": "Alarm word (0x50005)",
      "description": "bit0x01 Abnormal DC Circuit(200,3,Major); bit0x02 Abnormal Auxiliary Power Supply(410,4,Major); bit0x04 Abnormal DC Circuit(200,10,Major); bit0x05 Abnormal DC Circuit(200,11,Major).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50006",
      "addressNumeric": 50006,
      "signal": "alarm_word_0x50006",
      "name": "Alarm word (0x50006)",
      "description": "bit0x00 Abnormal Inv. Circuit(202,4,Major); bit0x06 System Fault(400,3,Major); bit0x0A Abnormal Inv. Circuit(202,13,Major); bit0x0C Abnormal Inv. Circuit(202,14,Major).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50007",
      "addressNumeric": 50007,
      "signal": "alarm_word_0x50007",
      "name": "Alarm word (0x50007)",
      "description": "bit0x01 Abnormal Inv. Circuit(202,16,Major); bit0x04 Anti-islanding(300,1,Warning); bit0x05 System Fault(400,21,Major); bit0x07 Abnormal Grid Volt. AB<lower(301,7,Major); bit0x08 Abnormal Grid Volt. BC<lower(301,8,Major); bit0x09 Abnormal Grid Volt. CA<lower(301,9,Major).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50008",
      "addressNumeric": 50008,
      "signal": "alarm_word_0x50008",
      "name": "Alarm word (0x50008)",
      "description": "bit0x00 Grid Volt. A<lower(301,4,Major); bit0x01 Grid Volt. B<lower(301,5,Major); bit0x02 Grid Volt. C<lower(301,6,Major); bit0x03 Grid Volt. A>upper(301,16,Major); bit0x04 Grid Volt. B>upper(301,17,Major); bit0x05 Grid Volt. C>upper(301,18,Major); bit0x06 Grid freq>standard(305,2,Major); bit0x07 Grid freq<standard(305,4,Major); bit0x08 Grid 3-phase voltage diff(301,28,Major); bit0x09 Grid fail/AC disconnected(301,29,Major); bit0x0A Abnormal Ground.(326,1,Major); bit0x0B Grid Volt.>upper threshold(301,26,Major).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50009",
      "addressNumeric": 50009,
      "signal": "alarm_word_0x50009",
      "name": "Alarm word (0x50009)",
      "description": "bit0x00 Output A phase low impedance/short(301,31,Major); bit0x01 Output B phase low impedance/short(301,32,Major); bit0x02 Output C phase low impedance/short(301,33,Major); bit0x06 System Fault(400,11,Major); bit0x08 Grid Volt. above 10-min OV threshold(301,19,Major).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50011",
      "addressNumeric": 50011,
      "signal": "alarm_word_0x50011",
      "name": "Alarm word (0x50011)",
      "description": "bit0x0A AB line voltage>upper(301,20,Major); bit0x0B BC line voltage>upper(301,21,Major); bit0x0C CA line voltage>upper(301,22,Major).",
      "functionCode": 3,
      "datatype": "bitfield",
      "length": 1,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    }
  ]
}