{
  "format": "voltrus-modbus-poll-template",
  "version": 1,
  "device": {
    "vendor": "WEG",
    "model": "CFW500",
    "series": "CFW500"
  },
  "page": "https://voltrus.id/registers/weg/cfw500/",
  "source": {
    "title": "CFW500 Modbus RTU User's Manual",
    "url": "https://static.weg.net/medias/downloadcenter/h73/ha4/WEG-CFW500-modbus-rtu-manual-10002253377-en.pdf",
    "document": "Document 10002253377, revision 04, publication date 06/2025. Scales and ranges for monitoring and setpoint parameters from the CFW500 Programming Manual V2.2X, document 10002296099 / 07, 09/2024",
    "fetched": "2026-10-24"
  },
  "addressing": "Block addresses are 0-based wire addresses, the ones Modbus Poll shows.",
  "wordOrder": null,
  "blocks": [
    {
      "name": "P0001_SpeedReference",
      "address": 1,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0002_OutputSpeed",
      "address": 2,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0003_MotorCurrent",
      "address": 3,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0004_DCLinkVoltage",
      "address": 4,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0005_OutputFrequency",
      "address": 5,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0006_InverterStatus",
      "address": 6,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0007_OutputVoltage",
      "address": 7,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0009_MotorTorque",
      "address": 9,
      "quantity": 1,
      "type": "int16",
      "area": "holding"
    },
    {
      "name": "P0010_OutputPower",
      "address": 10,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0011_PowerFactor",
      "address": 11,
      "quantity": 1,
      "type": "int16",
      "area": "holding"
    },
    {
      "name": "P0012_DigitalInputStatus",
      "address": 12,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0013_DigitalOutputStatus",
      "address": 13,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0014_AO1Value",
      "address": 14,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0018_AI1Value",
      "address": 18,
      "quantity": 1,
      "type": "int16",
      "area": "holding"
    },
    {
      "name": "P0019_AI2Value",
      "address": 19,
      "quantity": 1,
      "type": "int16",
      "area": "holding"
    },
    {
      "name": "P0023_MainSoftwareVersion",
      "address": 23,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0030_PowerModuleTemperature",
      "address": 30,
      "quantity": 1,
      "type": "int16",
      "area": "holding"
    },
    {
      "name": "P0037_MotorOverloadIxt",
      "address": 37,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0048_PresentAlarm",
      "address": 48,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0049_PresentFault",
      "address": 49,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0050_LastFault",
      "address": 50,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0100_AccelerationTime",
      "address": 100,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0101_DecelerationTime",
      "address": 101,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0133_MinimumSpeed",
      "address": 133,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0134_MaximumSpeed",
      "address": 134,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0308_SerialAddress",
      "address": 308,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0310_SerialBaudRate",
      "address": 310,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0311_SerialBytesConfig",
      "address": 311,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0313_CommErrorAction",
      "address": 313,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0314_SerialWatchdog",
      "address": 314,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0316_SerialInterfaceStatus",
      "address": 316,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0401_MotorRatedCurrent",
      "address": 401,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0402_MotorRatedSpeed",
      "address": 402,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0403_MotorRatedFrequency",
      "address": 403,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0680_LogicalStatus",
      "address": 680,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0681_SpeedAt13Bits",
      "address": 681,
      "quantity": 1,
      "type": "int16",
      "area": "holding"
    },
    {
      "name": "P0682_SerialControlWord",
      "address": 682,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0683_SerialSpeedReference",
      "address": 683,
      "quantity": 1,
      "type": "int16",
      "area": "holding"
    },
    {
      "name": "P0695_DOxValue",
      "address": 695,
      "quantity": 1,
      "type": "uint16",
      "area": "holding"
    },
    {
      "name": "P0696_AOxValue1",
      "address": 696,
      "quantity": 1,
      "type": "int16",
      "area": "holding"
    },
    {
      "name": "P0697_AOxValue2",
      "address": 697,
      "quantity": 1,
      "type": "int16",
      "area": "holding"
    },
    {
      "name": "P0698_AOxValue3",
      "address": 698,
      "quantity": 1,
      "type": "int16",
      "area": "holding"
    }
  ],
  "registers": [
    {
      "name": "P0001_SpeedReference",
      "description": "Speed reference in use (any source)",
      "addressInManual": 1,
      "address": 1,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0002_OutputSpeed",
      "description": "Output speed (motor), same scale as P0001",
      "addressInManual": 2,
      "address": 2,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0003_MotorCurrent",
      "description": "Motor current (RMS)",
      "addressInManual": 3,
      "address": 3,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "A",
      "scale": 0.1,
      "access": "R"
    },
    {
      "name": "P0004_DCLinkVoltage",
      "description": "DC link voltage",
      "addressInManual": 4,
      "address": 4,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "V",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0005_OutputFrequency",
      "description": "Output frequency applied to the motor",
      "addressInManual": 5,
      "address": 5,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "Hz",
      "scale": 0.1,
      "access": "R"
    },
    {
      "name": "P0006_InverterStatus",
      "description": "Inverter status code",
      "addressInManual": 6,
      "address": 6,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0007_OutputVoltage",
      "description": "Output line voltage",
      "addressInManual": 7,
      "address": 7,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "V",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0009_MotorTorque",
      "description": "Motor torque relative to rated torque",
      "addressInManual": 9,
      "address": 9,
      "area": "holding",
      "type": "int16",
      "registers": 1,
      "unit": "%",
      "scale": 0.1,
      "access": "R"
    },
    {
      "name": "P0010_OutputPower",
      "description": "Output power",
      "addressInManual": 10,
      "address": 10,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "kW",
      "scale": 0.1,
      "access": "R"
    },
    {
      "name": "P0011_PowerFactor",
      "description": "Motor power factor",
      "addressInManual": 11,
      "address": 11,
      "area": "holding",
      "type": "int16",
      "registers": 1,
      "unit": null,
      "scale": 0.01,
      "access": "R"
    },
    {
      "name": "P0012_DigitalInputStatus",
      "description": "Digital input states DI1 to DI8 (bit 0 is DI1)",
      "addressInManual": 12,
      "address": 12,
      "area": "holding",
      "type": "bitfield16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0013_DigitalOutputStatus",
      "description": "Digital output states DO1 to DO5 (bit 0 is DO1)",
      "addressInManual": 13,
      "address": 13,
      "area": "holding",
      "type": "bitfield16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0014_AO1Value",
      "description": "Analog output 1 value",
      "addressInManual": 14,
      "address": 14,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "%",
      "scale": 0.1,
      "access": "R"
    },
    {
      "name": "P0018_AI1Value",
      "description": "Analog input 1 value",
      "addressInManual": 18,
      "address": 18,
      "area": "holding",
      "type": "int16",
      "registers": 1,
      "unit": "%",
      "scale": 0.1,
      "access": "R"
    },
    {
      "name": "P0019_AI2Value",
      "description": "Analog input 2 value",
      "addressInManual": 19,
      "address": 19,
      "area": "holding",
      "type": "int16",
      "registers": 1,
      "unit": "%",
      "scale": 0.1,
      "access": "R"
    },
    {
      "name": "P0023_MainSoftwareVersion",
      "description": "Main software version",
      "addressInManual": 23,
      "address": 23,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 0.01,
      "access": "R"
    },
    {
      "name": "P0030_PowerModuleTemperature",
      "description": "Power module temperature (internal NTC)",
      "addressInManual": 30,
      "address": 30,
      "area": "holding",
      "type": "int16",
      "registers": 1,
      "unit": "°C",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0037_MotorOverloadIxt",
      "description": "Motor overload (Ixt) accumulator",
      "addressInManual": 37,
      "address": 37,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "%",
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0048_PresentAlarm",
      "description": "Alarm number currently active",
      "addressInManual": 48,
      "address": 48,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0049_PresentFault",
      "description": "Fault number currently active",
      "addressInManual": 49,
      "address": 49,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0050_LastFault",
      "description": "Most recent fault number",
      "addressInManual": 50,
      "address": 50,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0100_AccelerationTime",
      "description": "Acceleration time (ramp 1)",
      "addressInManual": 100,
      "address": 100,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "s",
      "scale": 0.1,
      "access": "RW"
    },
    {
      "name": "P0101_DecelerationTime",
      "description": "Deceleration time (ramp 1)",
      "addressInManual": 101,
      "address": 101,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "s",
      "scale": 0.1,
      "access": "RW"
    },
    {
      "name": "P0133_MinimumSpeed",
      "description": "Minimum speed reference",
      "addressInManual": 133,
      "address": 133,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "Hz",
      "scale": 0.1,
      "access": "RW"
    },
    {
      "name": "P0134_MaximumSpeed",
      "description": "Maximum speed reference",
      "addressInManual": 134,
      "address": 134,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "Hz",
      "scale": 0.1,
      "access": "RW"
    },
    {
      "name": "P0308_SerialAddress",
      "description": "Modbus slave address",
      "addressInManual": 308,
      "address": 308,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0310_SerialBaudRate",
      "description": "Serial baud rate selector",
      "addressInManual": 310,
      "address": 310,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0311_SerialBytesConfig",
      "description": "Serial data bits, parity and stop bits selector",
      "addressInManual": 311,
      "address": 311,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0313_CommErrorAction",
      "description": "Action taken on a communication error",
      "addressInManual": 313,
      "address": 313,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0314_SerialWatchdog",
      "description": "Serial watchdog timeout (0 disables)",
      "addressInManual": 314,
      "address": 314,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "s",
      "scale": 0.1,
      "access": "RW"
    },
    {
      "name": "P0316_SerialInterfaceStatus",
      "description": "Serial interface status",
      "addressInManual": 316,
      "address": 316,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0401_MotorRatedCurrent",
      "description": "Motor rated current",
      "addressInManual": 401,
      "address": 401,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "A",
      "scale": 0.1,
      "access": "RW"
    },
    {
      "name": "P0402_MotorRatedSpeed",
      "description": "Motor rated speed",
      "addressInManual": 402,
      "address": 402,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "rpm",
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0403_MotorRatedFrequency",
      "description": "Motor rated frequency",
      "addressInManual": 403,
      "address": 403,
      "area": "holding",
      "type": "uint16",
      "registers": 1,
      "unit": "Hz",
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0680_LogicalStatus",
      "description": "Logical status word",
      "addressInManual": 680,
      "address": 680,
      "area": "holding",
      "type": "bitfield16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0681_SpeedAt13Bits",
      "description": "Actual speed on the 13-bit scale",
      "addressInManual": 681,
      "address": 681,
      "area": "holding",
      "type": "int16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "R"
    },
    {
      "name": "P0682_SerialControlWord",
      "description": "Serial control word",
      "addressInManual": 682,
      "address": 682,
      "area": "holding",
      "type": "bitfield16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0683_SerialSpeedReference",
      "description": "Serial speed reference on the 13-bit scale",
      "addressInManual": 683,
      "address": 683,
      "area": "holding",
      "type": "int16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0695_DOxValue",
      "description": "Digital output values driven by the network (bit 0 is DO1)",
      "addressInManual": 695,
      "address": 695,
      "area": "holding",
      "type": "bitfield16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0696_AOxValue1",
      "description": "Analog output value 1 from the network",
      "addressInManual": 696,
      "address": 696,
      "area": "holding",
      "type": "int16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0697_AOxValue2",
      "description": "Analog output value 2 from the network",
      "addressInManual": 697,
      "address": 697,
      "area": "holding",
      "type": "int16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "RW"
    },
    {
      "name": "P0698_AOxValue3",
      "description": "Analog output value 3 from the network",
      "addressInManual": 698,
      "address": 698,
      "area": "holding",
      "type": "int16",
      "registers": 1,
      "unit": null,
      "scale": 1,
      "access": "RW"
    }
  ]
}
