manufacturer: saci
model: ang96
device: ang96
category: Altro
protocol: modbus
version: v1
firmware: null
verification: IMPORTED
isDemo: false
source:
  title: saci ang96 — modbus-database (registers.json)
  url: https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/saci-ang96.htm
  documentRef: null
  revision: null
generatedAt: 2026-09-21T13:30:00.487Z
registers:
  - address: "2"
    addressNumeric: 2
    signal: voltage
    name: Voltage
    description: Voltage
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "4"
    addressNumeric: 4
    signal: current_l1
    name: Current-L1
    description: Current-L1
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "6"
    addressNumeric: 6
    signal: thd_current_l1
    name: THD%-current-L1
    description: THD%-current-L1
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: "%"
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "8"
    addressNumeric: 8
    signal: thd_voltage
    name: THD%-voltage
    description: THD%-voltage
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: "%"
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "16"
    addressNumeric: 16
    signal: active_power_l1
    name: Active-power-L1
    description: Active-power-L1
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: KW
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "18"
    addressNumeric: 18
    signal: power_factor
    name: Power-factor
    description: Power-factor
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "20"
    addressNumeric: 20
    signal: reactive_power_l1
    name: Reactive-power-L1
    description: Reactive-power-L1
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: Kvar
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "22"
    addressNumeric: 22
    signal: apparent_power_l1
    name: Apparent-power-L1
    description: Apparent-power-L1
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: KVA
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "24"
    addressNumeric: 24
    signal: voltage_24
    name: Voltage
    description: Voltage
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "32"
    addressNumeric: 32
    signal: voltage_32
    name: Voltage
    description: Voltage
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "34"
    addressNumeric: 34
    signal: current_l2
    name: Current-L2
    description: Current-L2
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "36"
    addressNumeric: 36
    signal: thd_current_l2
    name: THD%-current-L2
    description: THD%-current-L2
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: "%"
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "38"
    addressNumeric: 38
    signal: thd_voltage_38
    name: THD%-voltage
    description: THD%-voltage
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: "%"
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "40"
    addressNumeric: 40
    signal: active_power_l2
    name: Active-power-L2
    description: Active-power-L2
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: KW
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "48"
    addressNumeric: 48
    signal: power_factor_48
    name: Power-factor
    description: Power-factor
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "50"
    addressNumeric: 50
    signal: reactive_power_l2
    name: Reactive-power-L2
    description: Reactive-power-L2
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: Kvar
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "52"
    addressNumeric: 52
    signal: apparent_power_l2
    name: Apparent-power-L2
    description: Apparent-power-L2
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: KVA
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "54"
    addressNumeric: 54
    signal: voltage_54
    name: Voltage
    description: Voltage
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "56"
    addressNumeric: 56
    signal: voltage_56
    name: Voltage
    description: Voltage
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: V
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "64"
    addressNumeric: 64
    signal: current_l3
    name: Current-L3
    description: Current-L3
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "66"
    addressNumeric: 66
    signal: thd_current_l3
    name: THD%-current-L3
    description: THD%-current-L3
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: "%"
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "68"
    addressNumeric: 68
    signal: thd_voltage_68
    name: THD%-voltage
    description: THD%-voltage
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: "%"
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "70"
    addressNumeric: 70
    signal: active_power_l3
    name: Active-power-L3
    description: Active-power-L3
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: KW
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "72"
    addressNumeric: 72
    signal: power_factor_72
    name: Power-factor
    description: Power-factor
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "80"
    addressNumeric: 80
    signal: reactive_power_l3
    name: Reactive-power-L3
    description: Reactive-power-L3
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: Kvar
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "82"
    addressNumeric: 82
    signal: apparent_power_l3
    name: Apparent-power-L3
    description: Apparent-power-L3
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: KVA
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "84"
    addressNumeric: 84
    signal: neutral_current
    name: Neutral-current
    description: Neutral-current
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "86"
    addressNumeric: 86
    signal: frequency
    name: Frequency
    description: Frequency
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: Hz
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "88"
    addressNumeric: 88
    signal: power_factor_88
    name: Power-factor
    description: Power-factor
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "96"
    addressNumeric: 96
    signal: apparent_power_total
    name: Apparent-power-total
    description: Apparent-power-total
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: KVA
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "98"
    addressNumeric: 98
    signal: active_power_total
    name: Active-power-total
    description: Active-power-total
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: KW
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "100"
    addressNumeric: 100
    signal: reactive_power_total
    name: Reactive-power-total
    description: Reactive-power-total
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: Kvar
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "102"
    addressNumeric: 102
    signal: import_active_energy
    name: Import-active-energy
    description: Import-active-energy
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: kWh
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "104"
    addressNumeric: 104
    signal: export_active_energy
    name: Export-active-energy
    description: Export-active-energy
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: kWh
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "112"
    addressNumeric: 112
    signal: reactive_energy_inductive
    name: Reactive-energy.-inductive
    description: Reactive-energy.-inductive
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: kvarh
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "114"
    addressNumeric: 114
    signal: reactive_energy_capacitive
    name: Reactive-energy.-capacitive
    description: Reactive-energy.-capacitive
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: kvarh
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "116"
    addressNumeric: 116
    signal: generator_mode_import_active_energy
    name: Generator-mode.-import-active-energy
    description: Generator-mode.-import-active-energy
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: kWh
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "118"
    addressNumeric: 118
    signal: generator_mode_export_active_energy
    name: Generator-mode.-export-active-energy
    description: Generator-mode.-export-active-energy
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: kWh
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "120"
    addressNumeric: 120
    signal: generator_mode_reactive_energy_inductive
    name: Generator-mode.-reactive-energy.-inductive
    description: Generator-mode.-reactive-energy.-inductive
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: kvarh
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "128"
    addressNumeric: 128
    signal: generator_mode_reactive_energy_capacitive
    name: Generator-mode.-reactive-energy.-capacitive
    description: Generator-mode.-reactive-energy.-capacitive
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: kvarh
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "130"
    addressNumeric: 130
    signal: import_active_energy_time_counter
    name: Import-active-energy-time-counter
    description: Import-active-energy-time-counter
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "132"
    addressNumeric: 132
    signal: export_active_energy_time_counter
    name: Export-active-energy-time-counter
    description: Export-active-energy-time-counter
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "134"
    addressNumeric: 134
    signal: generator_mode_import_active_energy_time_counter
    name: Generator-mode.-import-active-energy-time-counter
    description: Generator-mode.-import-active-energy-time-counter
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "136"
    addressNumeric: 136
    signal: generator_model_export_active_energy_time_counter
    name: Generator-model.-export-active-energy-time-counter
    description: Generator-model.-export-active-energy-time-counter
    functionCode: 3
    datatype: uint32
    length: 2
    scale: 1
    offset: 0
    unit: null
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "256"
    addressNumeric: 256
    signal: current_l1_256
    name: Current-L1
    description: Current-L1
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "258"
    addressNumeric: 258
    signal: current_l1_258
    name: Current-L1
    description: Current-L1
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "260"
    addressNumeric: 260
    signal: current_l2_260
    name: Current-L2
    description: Current-L2
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "262"
    addressNumeric: 262
    signal: current_l2_262
    name: Current-L2
    description: Current-L2
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "264"
    addressNumeric: 264
    signal: current_l3_264
    name: Current-L3
    description: Current-L3
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
  - address: "272"
    addressNumeric: 272
    signal: current_l3_272
    name: Current-L3
    description: Current-L3
    functionCode: 3
    datatype: float32
    length: 2
    scale: 1
    offset: 0
    unit: A
    access: READ
    endianness: null
    group: null
    notes: null
