{
  "spec_version": 1,
  "slug": "schneider-atv320",
  "manufacturer": "Schneider Electric",
  "model": "Altivar Machine ATV320",
  "category": "VFD",
  "supplier_url": "https://www.se.com/ww/en/product-range/65966-altivar-machine-atv320/",
  "default_configuration": {
    "protocol": "modbus_tcp",
    "port": 502,
    "unit_id": 1,
    "addressing": "zero_based",
    "byte_order": "BigEndian",
    "word_order": "HighFirst",
    "native_interface": "rs485",
    "serial": {
      "parity": "Even",
      "baud_rate": 19200,
      "data_bits": 8,
      "stop_bits": 1
    }
  },
  "coils": [],
  "discrete_inputs": [],
  "input_registers": [],
  "holding_registers": [
    {
      "address": 3201,
      "count": 1,
      "name": "ETA status word",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bit 0 ready, bit 1 switched on, bit 2 operation enabled, bit 3 fault, bit 6 switch-on inhibited."
    },
    {
      "address": 3202,
      "count": 1,
      "name": "RFR output frequency",
      "data_type": "Int16",
      "units": "Hz",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3203,
      "count": 1,
      "name": "FRH frequency reference before ramp",
      "data_type": "Int16",
      "units": "Hz",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3204,
      "count": 1,
      "name": "LCR motor current",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3205,
      "count": 1,
      "name": "OTR motor torque",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3206,
      "count": 1,
      "name": "ETI extended status word",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3207,
      "count": 1,
      "name": "ULN mains voltage",
      "data_type": "UInt16",
      "units": "V",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3208,
      "count": 1,
      "name": "UOP motor voltage",
      "data_type": "UInt16",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3209,
      "count": 1,
      "name": "THD drive thermal state",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3211,
      "count": 1,
      "name": "OPR motor power",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3231,
      "count": 1,
      "name": "RTH total motor operating time",
      "data_type": "UInt16",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3233,
      "count": 1,
      "name": "PTH total drive operating time",
      "data_type": "UInt16",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3235,
      "count": 1,
      "name": "TAC IGBT alarm time",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3240,
      "count": 1,
      "name": "HMIS drive state",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 3241,
      "count": 1,
      "name": "NTJ transistor alarm counter",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5202,
      "count": 1,
      "name": "IL1R logic input states",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5212,
      "count": 1,
      "name": "OL1R logic output states",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 5242,
      "count": 1,
      "name": "AI1C analog input 1 physical value",
      "data_type": "Int16",
      "units": "V",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5243,
      "count": 1,
      "name": "AI2C analog input 2 physical value",
      "data_type": "Int16",
      "units": "V",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5244,
      "count": 1,
      "name": "AI3C analog input 3 physical value",
      "data_type": "Int16",
      "units": "mA",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 5271,
      "count": 1,
      "name": "AO1C analog output 1 physical value",
      "data_type": "Int16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 6001,
      "count": 1,
      "name": "Modbus address",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 to 247, factory 1."
    },
    {
      "address": 6003,
      "count": 1,
      "name": "Modbus baud rate",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "24 = 4800, 28 = 9600, 32 = 19200, 36 = 38400."
    },
    {
      "address": 6004,
      "count": 1,
      "name": "Modbus format",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "2 = 8O1, 3 = 8E1, 4 = 8N1, 5 = 8N2."
    },
    {
      "address": 6005,
      "count": 1,
      "name": "Modbus timeout",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW",
      "description": "1 to 300 = 0.1 to 30.0 s."
    },
    {
      "address": 7121,
      "count": 1,
      "name": "LFT last fault code",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7130,
      "count": 1,
      "name": "CIC incorrect configuration",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 7132,
      "count": 1,
      "name": "CNF network fault code",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7200,
      "count": 1,
      "name": "DP0 fault code on last fault",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7210,
      "count": 1,
      "name": "EP0 status word on last fault",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7220,
      "count": 1,
      "name": "IP0 extended status word on last fault",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7230,
      "count": 1,
      "name": "CMP0 command word on last fault",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7240,
      "count": 1,
      "name": "LCP0 motor current on last fault",
      "data_type": "Int16",
      "units": "A",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7250,
      "count": 1,
      "name": "RFP0 output frequency on last fault",
      "data_type": "Int16",
      "units": "Hz",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7260,
      "count": 1,
      "name": "RTP0 motor operating time on last fault",
      "data_type": "UInt16",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7270,
      "count": 1,
      "name": "ULP0 supply voltage on last fault",
      "data_type": "UInt16",
      "units": "V",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7280,
      "count": 1,
      "name": "THP0 motor thermal state on last fault",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7330,
      "count": 1,
      "name": "OTP0 estimated torque on last fault",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7340,
      "count": 1,
      "name": "TDP0 drive thermal state on last fault",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7350,
      "count": 1,
      "name": "TJP0 estimated junction temperature on last fault",
      "data_type": "UInt16",
      "units": "°C",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7360,
      "count": 1,
      "name": "SFP0 switching frequency on last fault",
      "data_type": "UInt16",
      "units": "Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 7393,
      "count": 1,
      "name": "FNB fault counter",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 8501,
      "count": 1,
      "name": "CMD control word",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "CiA402 control word; 6 = shutdown, 15 = enable operation, 128 = fault reset."
    },
    {
      "address": 8502,
      "count": 1,
      "name": "LFR frequency setpoint",
      "data_type": "Int16",
      "units": "Hz",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 8602,
      "count": 1,
      "name": "LFRD speed setpoint",
      "data_type": "Int16",
      "units": "rpm",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 8604,
      "count": 1,
      "name": "RFRD output speed",
      "data_type": "Int16",
      "units": "rpm",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 8606,
      "count": 1,
      "name": "ERRD CiA402 fault code",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 9001,
      "count": 1,
      "name": "ACC acceleration",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 9002,
      "count": 1,
      "name": "DEC deceleration",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 9021,
      "count": 1,
      "name": "FRO frequency reference after ramp",
      "data_type": "Int16",
      "units": "Hz",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R"
    }
  ],
  "combined_registers": [],
  "notes": "RS-485 device: reach it through a Modbus RTU-to-TCP gateway using the factory serial settings above (address 1, 19200 bps, 8E1). All registers are holding registers (function code 03/06/16). The control word is 8501 (CMD) and the frequency setpoint 8502 (LFR); 9001/9002 are the acceleration and deceleration ramps. Status and measured values use the CiA402/Drivecom profile; the ETA status word bits are described in Schneider's Modbus manual."
}
