{
 "manufacturer": "Siemens",
 "manufacturer_slug": "siemens",
 "model": "SENTRON PAC3200",
 "model_slug": "sentron-pac3200",
 "short_model": "PAC3200",
 "aliases": [
  "7KM2112-0BA00-2AA0",
  "7KM2112-0BA00-3AA0",
  "7KM2111-1BA00-3AA0",
  "7KM PAC3200"
 ],
 "equipment_type": "Power meter",
 "applies_to": "SENTRON PAC3200 (7KM2111/7KM2112), Ethernet port and optional PAC RS485 expansion module, per manual edition 02/2008.",
 "summary": "Panel-mount 96 x 96 mm three-phase power monitoring device with a built-in Ethernet port. Modbus TCP is available once the Ethernet protocol is switched from SEAbus TCP; Modbus RTU needs the PAC RS485 expansion module. Live values are IEEE floats, energy counters are IEEE doubles. This map covers instantaneous, maximum and minimum values, status words, demand, tariff energy counters, the main transformer settings, communication settings and command registers.",
 "transport": [
  "TCP",
  "RTU"
 ],
 "defaults": {
  "unit_id": 126,
  "baud": 19200,
  "parity": "None",
  "data_bits": 8,
  "stop_bits": 2,
  "tcp_port": 502
 },
 "addressing": {
  "convention": "0-based",
  "note": "Siemens lists every value by its register 'offset', which is the 0-based address sent in the request. Offset 1 (voltage L1-N) is requested as address 1, which a 1-based tool shows as 40002. Two official Siemens application examples for this model confirm it: entry 40614428 (Set 22, Table 3-12) reads offset 65 at S7 MB_CLIENT address 40001 + 65, and entry 109779762 (LOGO! example, p. 13) enters offset 1 as LOGO! register 2."
 },
 "default_word_order": "ABCD",
 "firmware": null,
 "source": {
  "title": "SENTRON PAC3200 Power Monitoring Device Manual",
  "doc_number": "A5E01168664B-04",
  "revision_date": "2008-02",
  "url": "https://cache.industry.siemens.com/dl/files/150/26504150/att_906558/v1/A5E01168664B-04_EN-US_122016_201612221316360495.pdf",
  "pages": "pp. 38-62 (sections 3.9.2-3.9.12; Table 3-6 measured variables pp. 40-43)"
 },
 "notes": [
  "The PAC3200 manual does not name a word order. We record ABCD (high word first) because two official Siemens examples for this exact model map the registers straight into big-endian S7 types with no word swap: the S7-1200 library description for entry 40614428 (v1.0, 2010, pp. 12-15) receives PAC3200 floats directly into an Array of REAL / DB1.DBD0, and the Set 22 example (entry 40614428, V14 06/2017, p. 26) overlays the two-register buffer as REAL and UDInt. The manual's own status tables also put byte 0 at mask 0x01000000 (most significant byte first).",
  "Sources for addressing and word order: https://cache.industry.siemens.com/dl/files/428/40614428/att_923701/v2/40614428_Set22_DOC_v14_en.pdf ; https://cache.industry.siemens.com/dl/files/428/40614428/att_15029/v1/40614428_librarydescription_s7-1200_modbustcp_v1d0_en.pdf ; https://cache.industry.siemens.com/dl/files/762/109779762/att_1028292/v1/109779762_LOGO_ModbusTCP_DOC_en.pdf",
  "All measured variables answer to both FC 0x03 and FC 0x04; they are listed here as holding registers. Settings use FC 0x03/0x04/0x10; command registers (60002-60009, 65300) use FC 0x06.",
  "Read and write multi-register values from their first register only; starting a read or write in the middle of a value returns an exception.",
  "The 32-bit status words (offsets 203-209) are listed with bit numbers of the whole 32-bit value (bit 0 = mask 0x00000001, bit 24 = mask 0x01000000).",
  "Offset 221 (Counter Limit Violations) is omitted: the manual gives no format for it.",
  "Offset 201 (Minimum Total Power Factor) is printed with the unit 'var' in the manual; a power factor is unitless, so the unit is left empty.",
  "Omitted: the six limit-value blocks (50063-50145), digital I/O and display settings (50025-50061), bootloader version (63007, packed characters) and the I&M data blocks (64001+).",
  "RS485 defaults (address 126, 19200 baud, 8N2, MODBUS RTU, response time 0 ms) are those of the optional PAC RS485 expansion module, listed in the manual's RS485 MODULE settings (p. 150). Modbus TCP itself has no unit-ID setting in the manual."
 ],
 "registers": [
  {
   "table": "discrete_input",
   "address": 0,
   "documented": "0",
   "name": "Limit 0 status",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No limit violation",
    "1": "Limit violation"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 1,
   "documented": "1",
   "name": "Limit 1 status",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No limit violation",
    "1": "Limit violation"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 2,
   "documented": "2",
   "name": "Limit 2 status",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No limit violation",
    "1": "Limit violation"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 3,
   "documented": "3",
   "name": "Limit 3 status",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No limit violation",
    "1": "Limit violation"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 4,
   "documented": "4",
   "name": "Limit 4 status",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No limit violation",
    "1": "Limit violation"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 5,
   "documented": "5",
   "name": "Limit 5 status",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "No limit violation",
    "1": "Limit violation"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 50,
   "documented": "50",
   "name": "Limit Logic status",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 108,
   "documented": "108",
   "name": "Relevant parameter changes",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 109,
   "documented": "109",
   "name": "Upper or lower limit violation",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 110,
   "documented": "110",
   "name": "Maximum pulse rate exceeded (stored)",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 111,
   "documented": "111",
   "name": "Restart of the device",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 112,
   "documented": "112",
   "name": "Resetting of energy counter by user",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 116,
   "documented": "116",
   "name": "Module slot 1",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 117,
   "documented": "117",
   "name": "Maximum pulse rate exceeded",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 124,
   "documented": "124",
   "name": "No synchronization pulse",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 125,
   "documented": "125",
   "name": "Device Configuration menu is active",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 126,
   "documented": "126",
   "name": "Voltage overload",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 127,
   "documented": "127",
   "name": "Current overload",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 200,
   "documented": "200",
   "name": "Digital input 0",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "discrete_input",
   "address": 300,
   "documented": "300",
   "name": "Digital output 0",
   "description": "",
   "data_type": "BIT",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Not active",
    "1": "Active"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1,
   "documented": "1",
   "name": "Voltage Va-n",
   "description": "Phase-to-neutral voltage, phase a (L1).",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 3,
   "documented": "3",
   "name": "Voltage Vb-n",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 5,
   "documented": "5",
   "name": "Voltage Vc-n",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 7,
   "documented": "7",
   "name": "Voltage Va-b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 9,
   "documented": "9",
   "name": "Voltage Vb-c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 11,
   "documented": "11",
   "name": "Voltage Vc-a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 13,
   "documented": "13",
   "name": "Current a",
   "description": "Phase current a (L1).",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 15,
   "documented": "15",
   "name": "Current b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 17,
   "documented": "17",
   "name": "Current c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 19,
   "documented": "19",
   "name": "Apparent Power a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 21,
   "documented": "21",
   "name": "Apparent Power b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 23,
   "documented": "23",
   "name": "Apparent Power c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 25,
   "documented": "25",
   "name": "Active Power a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 27,
   "documented": "27",
   "name": "Active Power b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 29,
   "documented": "29",
   "name": "Active Power c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 31,
   "documented": "31",
   "name": "Reactive Power a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 33,
   "documented": "33",
   "name": "Reactive Power b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 35,
   "documented": "35",
   "name": "Reactive Power c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 37,
   "documented": "37",
   "name": "Power Factor a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 39,
   "documented": "39",
   "name": "Power Factor b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 41,
   "documented": "41",
   "name": "Power Factor c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 43,
   "documented": "43",
   "name": "THD-R Voltage a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 45,
   "documented": "45",
   "name": "THD-R Voltage b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 47,
   "documented": "47",
   "name": "THD-R Voltage c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 49,
   "documented": "49",
   "name": "THD-R Current a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 51,
   "documented": "51",
   "name": "THD-R Current b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 53,
   "documented": "53",
   "name": "THD-R Current c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 55,
   "documented": "55",
   "name": "Frequency",
   "description": "Line frequency.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Hz",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 57,
   "documented": "57",
   "name": "Average Voltage Vph-n",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 59,
   "documented": "59",
   "name": "Average Voltage Vph-ph",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 61,
   "documented": "61",
   "name": "Average Current",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63,
   "documented": "63",
   "name": "Total Apparent Power",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 65,
   "documented": "65",
   "name": "Total Active Power",
   "description": "Sum of active power over all phases; signed for import/export.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 67,
   "documented": "67",
   "name": "Total Reactive Power",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 69,
   "documented": "69",
   "name": "Total Power Factor",
   "description": "Overall power factor.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 71,
   "documented": "71",
   "name": "Amplitude Unbalance - Voltage",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 73,
   "documented": "73",
   "name": "Amplitude Unbalance - Current",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 75,
   "documented": "75",
   "name": "Maximum Voltage Va-n",
   "description": "Highest value since the last reset of maximum values.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 77,
   "documented": "77",
   "name": "Maximum Voltage Vb-n",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 79,
   "documented": "79",
   "name": "Maximum Voltage Vc-n",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 81,
   "documented": "81",
   "name": "Max. Voltage Va-b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 83,
   "documented": "83",
   "name": "Max. Voltage Vb-c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 85,
   "documented": "85",
   "name": "Max. Voltage Vc-a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 87,
   "documented": "87",
   "name": "Maximum Current a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 89,
   "documented": "89",
   "name": "Maximum Current b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 91,
   "documented": "91",
   "name": "Maximum Current c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 93,
   "documented": "93",
   "name": "Maximum Apparent Power a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 95,
   "documented": "95",
   "name": "Maximum Apparent Power b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 97,
   "documented": "97",
   "name": "Maximum Apparent Power c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 99,
   "documented": "99",
   "name": "Maximum Active Power a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 101,
   "documented": "101",
   "name": "Maximum Active Power b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 103,
   "documented": "103",
   "name": "Maximum Active Power c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 105,
   "documented": "105",
   "name": "Maximum Reactive Power a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 107,
   "documented": "107",
   "name": "Maximum Reactive Power b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 109,
   "documented": "109",
   "name": "Maximum Reactive Power c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 111,
   "documented": "111",
   "name": "Maximum Power Factor a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 113,
   "documented": "113",
   "name": "Maximum Power Factor b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 115,
   "documented": "115",
   "name": "Maximum Power Factor c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 117,
   "documented": "117",
   "name": "Maximum THD-R Voltage a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 119,
   "documented": "119",
   "name": "Maximum THD-R Voltage b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 121,
   "documented": "121",
   "name": "Maximum THD-R Voltage c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 123,
   "documented": "123",
   "name": "Maximum THD-R Current a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 125,
   "documented": "125",
   "name": "Maximum THD-R Current b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 127,
   "documented": "127",
   "name": "Maximum THD-R Current c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 129,
   "documented": "129",
   "name": "Max. Frequency",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Hz",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 131,
   "documented": "131",
   "name": "Max. Average Voltage Vph-n",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 133,
   "documented": "133",
   "name": "Max. Average Voltage Vph-ph",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 135,
   "documented": "135",
   "name": "Max. Average Current",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 137,
   "documented": "137",
   "name": "Max. Total Apparent Power",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 139,
   "documented": "139",
   "name": "Max. Total Active Power",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 141,
   "documented": "141",
   "name": "Max. Total Reactive Power",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 143,
   "documented": "143",
   "name": "Maximum Total Power Factor",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 145,
   "documented": "145",
   "name": "Minimum Voltage Va-n",
   "description": "Lowest value since the last reset of minimum values.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 147,
   "documented": "147",
   "name": "Minimum Voltage Vb-n",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 149,
   "documented": "149",
   "name": "Minimum Voltage Vc-n",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 151,
   "documented": "151",
   "name": "Min. Voltage Va-b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 153,
   "documented": "153",
   "name": "Min. Voltage Vb-c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 155,
   "documented": "155",
   "name": "Min. Voltage Vc-a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 157,
   "documented": "157",
   "name": "Minimum Current a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 159,
   "documented": "159",
   "name": "Minimum Current b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 161,
   "documented": "161",
   "name": "Minimum Current c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 163,
   "documented": "163",
   "name": "Minimum Apparent Power a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 165,
   "documented": "165",
   "name": "Minimum Apparent Power b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 167,
   "documented": "167",
   "name": "Minimum Apparent Power c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 169,
   "documented": "169",
   "name": "Minimum Active Power a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 171,
   "documented": "171",
   "name": "Minimum Active Power b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 173,
   "documented": "173",
   "name": "Minimum Active Power c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 175,
   "documented": "175",
   "name": "Minimum Reactive Power a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 177,
   "documented": "177",
   "name": "Minimum Reactive Power b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 179,
   "documented": "179",
   "name": "Minimum Reactive Power c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 181,
   "documented": "181",
   "name": "Minimum Power Factor a",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 183,
   "documented": "183",
   "name": "Minimum Power Factor b",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 185,
   "documented": "185",
   "name": "Minimum Power Factor c",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 187,
   "documented": "187",
   "name": "Min. Frequency",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Hz",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 189,
   "documented": "189",
   "name": "Min. Average Voltage Vph-n",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 191,
   "documented": "191",
   "name": "Min. Average Voltage Vph-ph",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 193,
   "documented": "193",
   "name": "Min. Average Current",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 195,
   "documented": "195",
   "name": "Min. Total Apparent Power",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VA",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 197,
   "documented": "197",
   "name": "Min. Total Active Power",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 199,
   "documented": "199",
   "name": "Min. Total Reactive Power",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 201,
   "documented": "201",
   "name": "Minimum Total Power Factor",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 203,
   "documented": "203",
   "name": "Limit Violations",
   "description": "Packed limit flags; 1 = limit violated.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "Limit 0",
    "1": "Limit 1",
    "2": "Limit 2",
    "3": "Limit 3",
    "4": "Limit 4",
    "5": "Limit 5",
    "24": "Limit logic"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 205,
   "documented": "205",
   "name": "Device Diagnostics and Device Status",
   "description": "Packed status bits; latched bits are cleared via offset 60007.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "8": "Relevant parameter changes (latched, acknowledge)",
    "9": "Upper or lower limit violation (latched, acknowledge)",
    "10": "Maximum pulse rate exceeded (latched, acknowledge)",
    "11": "Restart of the device (latched, acknowledge)",
    "12": "Energy counter reset by user (latched, acknowledge)",
    "16": "Module slot 1",
    "17": "Maximum pulse rate exceeded",
    "24": "No synchronization pulse",
    "25": "Device configuration menu active",
    "26": "Voltage overload",
    "27": "Current overload"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 207,
   "documented": "207",
   "name": "Status of the digital outputs",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "Output 0"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 209,
   "documented": "209",
   "name": "Status of the digital inputs",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "Input 0"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 211,
   "documented": "211",
   "name": "Active Tariff",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Tariff 1",
    "1": "Tariff 2"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 213,
   "documented": "213",
   "name": "Working hours counter",
   "description": "Operating hours in seconds; writable to preset.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "s",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 215,
   "documented": "215",
   "name": "Universal counter",
   "description": "Counts events from the configured source; writable to preset.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 217,
   "documented": "217",
   "name": "Relevant Parameter Changes Counter",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 219,
   "documented": "219",
   "name": "Counter All Parameter Changes",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 501,
   "documented": "501",
   "name": "Demand Active Power - Import",
   "description": "Average active power import over the last completed demand period.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 503,
   "documented": "503",
   "name": "Demand Reactive Power - Import",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 505,
   "documented": "505",
   "name": "Demand Active Power - Export",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 507,
   "documented": "507",
   "name": "Demand Reactive Power - Export",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 509,
   "documented": "509",
   "name": "Maximum Active Power Reading during the period",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 511,
   "documented": "511",
   "name": "Minimum Active Power Reading during the period",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "W",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 513,
   "documented": "513",
   "name": "Maximum Reactive Power Reading during the period",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 515,
   "documented": "515",
   "name": "Minimum Reactive Power Reading during the period",
   "description": "",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "var",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 517,
   "documented": "517",
   "name": "Demand Period",
   "description": "Configured demand period length.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "s",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 519,
   "documented": "519",
   "name": "Time Since Start of the active demand period",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "s",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 801,
   "documented": "801",
   "name": "Active Energy Import Tariff 1",
   "description": "IEEE double; counter rolls over at 1.0e12 Wh. Writable to preset.",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 805,
   "documented": "805",
   "name": "Active Energy Import Tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 809,
   "documented": "809",
   "name": "Active Energy Export Tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 813,
   "documented": "813",
   "name": "Active Energy Export Tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "Wh",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 817,
   "documented": "817",
   "name": "Reactive Energy Import Tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 821,
   "documented": "821",
   "name": "Reactive Energy Import Tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 825,
   "documented": "825",
   "name": "Reactive Energy Export Tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 829,
   "documented": "829",
   "name": "Reactive Energy Export Tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "varh",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 833,
   "documented": "833",
   "name": "Apparent Energy Tariff 1",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 837,
   "documented": "837",
   "name": "Apparent Energy Tariff 2",
   "description": "",
   "data_type": "FLOAT64",
   "length": 4,
   "word_order": "ABCD",
   "scale": 1,
   "units": "VAh",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50001,
   "documented": "50001",
   "name": "Connection type",
   "description": "Wiring configuration.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "3P4W",
    "1": "3P3W",
    "2": "3P4WB",
    "3": "3P3WB",
    "4": "1P2W"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50003,
   "documented": "50003",
   "name": "Voltage measurement using voltage transformers",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "No",
    "1": "Yes"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50005,
   "documented": "50005",
   "name": "Primary voltage",
   "description": "VT primary, 1...999999 V.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50007,
   "documented": "50007",
   "name": "Secondary voltage",
   "description": "VT secondary, 1...690 V.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "V",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50011,
   "documented": "50011",
   "name": "Primary current",
   "description": "CT primary, 1...99999 A.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50013,
   "documented": "50013",
   "name": "Secondary current",
   "description": "CT secondary, 1 A or 5 A.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "A",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50015,
   "documented": "50015",
   "name": "Invert CT polarity",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "No",
    "1": "Yes"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50019,
   "documented": "50019",
   "name": "Zero point suppression level",
   "description": "Percent of rated current, 0.0...10.0.",
   "data_type": "FLOAT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "%",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50021,
   "documented": "50021",
   "name": "Demand Period",
   "description": "Demand period length, 1...60 minutes.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "min",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 50023,
   "documented": "50023",
   "name": "Synchronization",
   "description": "Demand period synchronization source.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "No synchronization",
    "1": "Synchronization via bus",
    "2": "Synchronization via the digital input"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60002,
   "documented": "60002",
   "name": "Reset maximum values",
   "description": "Write 0 with FC 0x06.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60003,
   "documented": "60003",
   "name": "Reset minimum values",
   "description": "Write 0 with FC 0x06.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60004,
   "documented": "60004",
   "name": "Reset energy counter",
   "description": "Write the counter code with FC 0x06.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": {
    "0": "All",
    "1": "Active Energy Import Tariff 1",
    "2": "Active Energy Import Tariff 2",
    "3": "Active Energy Export Tariff 1",
    "4": "Active Energy Export Tariff 2",
    "5": "Reactive Energy Import Tariff 1",
    "6": "Reactive Energy Import Tariff 2",
    "7": "Reactive Energy Export Tariff 1",
    "8": "Reactive Energy Export Tariff 2",
    "9": "Apparent Energy Tariff 1",
    "10": "Apparent Energy Tariff 2"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60005,
   "documented": "60005",
   "name": "Synchronization of the demand period",
   "description": "Bus sync pulse; value is the period length 1...60.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "min",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60006,
   "documented": "60006",
   "name": "Switching tariff",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": {
    "0": "High tariff",
    "1": "Low tariff"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60007,
   "documented": "60007",
   "name": "Acknowledge diagnostics bits",
   "description": "Clears latched bits of offset 205; 0...FFFFh.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60008,
   "documented": "60008",
   "name": "Switching outputs",
   "description": "Drives digital output 0 when it is set to remote output.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": {
    "0": "Output 0 OFF",
    "1": "Output 0 ON"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 60009,
   "documented": "60009",
   "name": "Switching command for vector group",
   "description": "High byte = group 0...99, low byte 1 = ON, 0 = OFF.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63001,
   "documented": "63001",
   "name": "IP address",
   "description": "IPv4 address packed into 32 bits.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63003,
   "documented": "63003",
   "name": "Subnet mask",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63005,
   "documented": "63005",
   "name": "Gateway",
   "description": "",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63009,
   "documented": "63009",
   "name": "Password protection ON/OFF",
   "description": "Reads 0 or 1; the manual does not say which value means on.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63015,
   "documented": "63015",
   "name": "Ethernet protocol",
   "description": "Selects the Ethernet protocol; SEAbus TCP is the factory default.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "MODBUS TCP",
    "1": "SEAbus TCP"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63017,
   "documented": "63017",
   "name": "Protocol (RS485 module)",
   "description": "Only with the PAC RS485 expansion module.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "MODBUS RTU",
    "1": "SEAbus serial"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63019,
   "documented": "63019",
   "name": "MODBUS address (RS485 module)",
   "description": "Slave address 1...247; RS485 module only.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63021,
   "documented": "63021",
   "name": "Baudrate (RS485 module)",
   "description": "RS485 module only; default 2 (19,200).",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "4800",
    "1": "9600",
    "2": "19200",
    "3": "38400"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63023,
   "documented": "63023",
   "name": "Data bits / Parity / Stop bits (RS485 module)",
   "description": "RS485 module only.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "8N2",
    "1": "8E1",
    "2": "8O1",
    "3": "8N1"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 63025,
   "documented": "63025",
   "name": "Response time (RS485 module)",
   "description": "0...255 ms, 0 = automatic; RS485 module only.",
   "data_type": "UINT32",
   "length": 2,
   "word_order": "ABCD",
   "scale": 1,
   "units": "ms",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 65300,
   "documented": "65300",
   "name": "Activate changed IP configuration",
   "description": "Write 0 to apply new Ethernet settings.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  }
 ],
 "integration": {
  "summary": "Set the IP address, subnet and gateway on the device, switch the Ethernet protocol to MODBUS TCP and restart. Then read floats from offset 1 upward with FC 0x03 or 0x04, two registers per value, high word first.",
  "minimum_registers": [
   {
    "table": "holding_register",
    "address": 1,
    "why": "Voltage L1-N"
   },
   {
    "table": "holding_register",
    "address": 13,
    "why": "Current L1"
   },
   {
    "table": "holding_register",
    "address": 55,
    "why": "Frequency"
   },
   {
    "table": "holding_register",
    "address": 65,
    "why": "Total active power"
   },
   {
    "table": "holding_register",
    "address": 69,
    "why": "Total power factor"
   },
   {
    "table": "holding_register",
    "address": 801,
    "why": "Active energy import tariff 1 (double)"
   },
   {
    "table": "holding_register",
    "address": 205,
    "why": "Device diagnostics and status"
   }
  ],
  "enable": "On the device: SETTINGS > COMMUNICATION. Enter IP address, subnet and gateway, change PROTOCOL from SEAbus TCP to MODBUS TCP and confirm the restart prompt. For RS485, fit the PAC RS485 expansion module and set its protocol to MODBUS RTU.",
  "watchdog": null,
  "quirks": [
   "Offsets are wire addresses: offset 1 is requested as address 1 (40002 in 1-based tools).",
   "Floats and doubles are big-endian, high word first.",
   "Energy counters are 64-bit IEEE doubles in Wh/varh/VAh, not scaled integers.",
   "A read that starts on the second register of a value is rejected with an exception."
  ],
  "setup": [
   "TCP port 502 is fixed for Modbus TCP on this model.",
   "Ethernet changes written over Modbus (63001-63015) take effect after writing 0 to offset 65300.",
   "RS485 module: address 1...247, baud 4800-38400, framing 8N2/8E1/8O1/8N1 in offsets 63019-63023.",
   "RS485 module factory settings: address 126, 19200 baud, 8N2, MODBUS RTU, response time 0 ms."
  ],
  "gotchas": [
   "The factory protocol is SEAbus TCP, so a new meter does not answer Modbus until the protocol is changed.",
   "Latched diagnostic bits in offset 205 stay set until acknowledged through offset 60007."
  ]
 },
 "page": "https://easymodbus.com/modbus-register-maps/siemens/sentron-pac3200",
 "address_note": "address = 0-based Modbus wire (PDU) address; documented = as printed in the source.",
 "note": "Re-typed from the manufacturer's public documentation (see source) and verified against it. Registers vary by firmware and options; verify against the live device before writing."
}
