Easy Modbus
  1. Home
  2. Modbus register maps
  3. WEG
  4. CFW500 frequency inverter (Modbus RTU)

Variable frequency drive · Modbus register map

WEG CFW500 frequency inverter (Modbus RTU) Modbus register map

Updated 25 October 2026

Short answer

WEG's general-purpose variable frequency drive. Over Modbus RTU every drive parameter is a 16-bit holding register whose address equals the parameter number, so P0680 status word is register 680 and P0682/P0683 control word and speed reference are 682/683. This map covers the read-only monitoring parameters, the status/control words, the command-source and serial-port setup parameters, and the network-driven digital/analog outputs.

This page lists 62 Modbus registers for the WEG CFW500 frequency inverter (Modbus RTU) — 30 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from WEG’s own free documentation (linked below) and checked against it.

Manufacturer
WEG
Model
CFW500 frequency inverter (Modbus RTU)
Equipment type
Variable frequency drive
Registers
62 (30 writable)
Transport
Modbus RTU
Default unit ID
1
Default serial
19200 baud, 8E1
Documented addressing
0-based (the number printed is the address on the wire)
Firmware
Programming manual for software V2.2X (doc 10002296099 rev 07); Modbus guide rev 04 adds STO/Fire Mode status bits and PID control bits
Also known as
CFW500 VFD, CFW500-IOS, CFW500-CRS485, CFW500-CUSB, CFW500-CRS232
Source document
Modbus RTU CFW500 User's Guide · 10002253377 / 04 · rev. 2025-06
Download CSV all columns JSON Manufacturer PDF ↗

Integration notes: WEG CFW500 frequency inverter (Modbus RTU)

Integration in brief

Leave P0312 = 2 (Modbus RTU on the standard RS-485), match P0308/P0310/P0311 to the master, then point the remote command sources at Serial/USB (P0220, P0222 = 9, P0226, P0227 = 2). Write the P0682 control word (e.g. 0x0017 = run + general enable + forward + remote; 0x0016 = ramp stop) and P0683 in the 8192 = rated-frequency scale, and poll P0680, P0005, P0003 and P0049.

Minimum registers to map

Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.

RegisterNameTypeWhyAccess
HR 682Serial/USB control wordBITMAP16Control word: run, enable, direction, fault resetRead/write
HR 683Serial/USB speed referenceINT16Speed reference, 8192 = P0403Read/write
HR 680Logical status (status word)BITMAP16Status word: running, remote, faultRead
HR 5Output frequencyUINT16Output frequency (0.1 Hz)Read
HR 3Motor currentUINT16Motor current (0.1 A)Read
HR 4DC link voltage (Ud)UINT16DC link voltageRead
HR 49Present faultUINT16Present fault numberRead
HR 48Present alarmUINT16Present alarm numberRead

Enable Modbus control & writes

P0312 selects the serial protocol (2 = Modbus RTU slave on serial 1, 7 = on the second port of a CRS485/CUSB/CRS232 module). Set P0308 address, P0310 baud and P0311 byte format. For network control set P0220 = 1 (always Remote) or 6 (Local/Remote switched by P0682 bit 4), P0222 = 9 (reference from P0683), P0226 = 5 or 6 (direction from P0682 bit 2) and P0227 = 2 (run/stop from P0682). Use P0221/P0223/P0224 instead if the drive runs in Local.

Communication loss & watchdog

P0314 Serial Watchdog (0.0-999.0 s, 0 = off by default) raises alarm A0128 when no valid telegram arrives in time; P0313 picks the reaction (0 none, 1 ramp stop default, 2 coast/general disable, 3 go to Local, 4 Local keeping the network commands, 5 fault F0228). Timing starts at the first valid telegram after power-up. P0316 shows 2 while the watchdog error is active.

Byte order & addressing

Network setup

Watch out for

WEG CFW500 frequency inverter (Modbus RTU) Modbus registers

Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.

62 of 62 shown
WEG CFW500 frequency inverter (Modbus RTU) Modbus register map
TableAddressNameDescriptionTypeOrderScaleUnitsAccessValues / bits
HR1doc P0001Speed referenceActive speed reference in the P0208/P0209/P0210 display scale.UINT16Read
HR2doc P0002Output speed (motor)Output speed in the same display scale as P0001.UINT16Read
HR3doc P0003Motor currentOutput current, A rms.UINT16× 0.1ARead
HR4doc P0004DC link voltage (Ud)UINT16VRead
HR5doc P0005Output frequencyActual frequency applied to the motor.UINT16× 0.1HzRead
HR6doc P0006Inverter statusUINT16Read0 = Ready; 1 = Run; 2 = Undervoltage; 3 = Fault; 4 = Self-tuning; 5 = Configuration; 6 = DC braking; 7 = Sleep mode
HR7doc P0007Output voltageLine voltage at the drive output.UINT16VRead
HR9doc P0009Motor torquePercent of rated motor torque; signed.INT16× 0.1%Read
HR10doc P0010Output powerUINT16× 0.1kWRead
HR11doc P0011Power factorSigned, -1.00 to 1.00.INT16× 0.01Read
HR12doc P0012Digital input status DI1-DI8BITMAP16Readbit 0 = DI1; bit 1 = DI2; bit 2 = DI3; bit 3 = DI4; bit 4 = DI5; bit 5 = DI6; bit 6 = DI7; bit 7 = DI8
HR13doc P0013Digital output status DO1-DO5BITMAP16Readbit 0 = DO1; bit 1 = DO2; bit 2 = DO3; bit 3 = DO4; bit 4 = DO5
HR18doc P0018AI1 valueAnalog input 1 after gain/offset, percent of full scale.INT16× 0.1%Read
HR19doc P0019AI2 valueAnalog input 2 after gain/offset.INT16× 0.1%Read
HR20doc P0020AI3 valueAnalog input 3 after gain/offset.INT16× 0.1%Read
HR23doc P0023Main software versionControl board firmware, e.g. 220 = 2.20.UINT16× 0.01Read
HR30doc P0030Power module temperatureMeasured inside the power module; signed.INT16°CRead
HR37doc P0037Motor overload IxtOverload integrator; fault F0072 at 100%.UINT16%Read
HR48doc P0048Present alarmActive alarm number (e.g. 128 = A0128), 0 if none.UINT16Read
HR49doc P0049Present faultActive fault number (e.g. 228 = F0228), 0 if none.UINT16Read
HR50doc P0050Last faultNumber of the most recent fault.UINT16Read
HR51doc P0051Last fault currentOutput current when the last fault tripped.UINT16× 0.1ARead
HR52doc P0052Last fault DC linkUINT16VRead
HR53doc P0053Last fault frequencyUINT16× 0.1HzRead
HR55doc P0055Last fault logical statusCopy of P0680 at the last fault.BITMAP16Readbit 0 = STO active (drive locked, A0160); bit 1 = Run command present; bit 2 = Fire Mode active; bit 4 = Quick stop active; bit 5 = 2nd ramp (P0102/P0103) in use; bit 6 = Config mode (parameter incompatibility, cannot enable); bit 7 = Alarm present; bit 8 = Motor running per reference and command; bit 9 = Drive enabled and ready to run; bit 10 = 1 = forward, 0 = reverse; bit 11 = JOG active; bit 12 = 1 = Remote, 0 = Local; bit 13 = Undervoltage; bit 14 = PID in automatic (0 = manual); bit 15 = Fault present
HR60doc P0060Second faultNumber of the second most recent fault.UINT16Read
HR70doc P0070Third faultNumber of the third most recent fault.UINT16Read
HR100doc P0100Acceleration time0.1-999.0 s; default 10.0 s.UINT16× 0.1sRead/write
HR101doc P0101Deceleration time0.1-999.0 s; default 10.0 s.UINT16× 0.1sRead/write
HR121doc P0121Speed reference via HMIKeypad reference used when P0221/P0222 = 0.UINT16× 0.1HzRead/write
HR133doc P0133Minimum speedUINT16× 0.1HzRead/write
HR134doc P0134Maximum speedDefault 66.0 Hz (60 Hz set) or 55.0 Hz (50 Hz set).UINT16× 0.1HzRead/write
HR202doc P0202Type of controlChange only with the motor stopped.UINT16Read/write0 = V/f; 3 = Sensorless vector; 4 = Vector with encoder; 5 = VVW; 8 = VVW PM
HR220doc P0220LOC/REM selection sourceDefault 2.UINT16Read/write0 = Always LOC; 1 = Always REM; 2 = HMI key (LOC); 3 = HMI key (REM); 4 = DIx; 5 = Serial/USB (LOC); 6 = Serial/USB (REM); 9 = CO/DN/PB/Eth (LOC); 10 = CO/DN/PB/Eth (REM); 11 = SoftPLC
HR221doc P0221LOC reference selectionSet 9 for speed reference from P0683.UINT16Read/write0 = HMI keys; 1 = AI1; 2 = AI2; 3 = AI3; 4 = FI; 5 = AI1 + AI2 > 0; 6 = AI1 + AI2; 7 = Electronic potentiometer; 8 = Multispeed; 9 = Serial/USB; 11 = CO/DN/PB/Eth; 12 = SoftPLC; 14 = AI1 > 0; 15 = AI2 > 0; 16 = AI3 > 0; 17 = FI > 0
HR222doc P0222REM reference selectionSame options as P0221; 9 = Serial/USB.UINT16Read/write0 = HMI keys; 1 = AI1; 2 = AI2; 3 = AI3; 4 = FI; 5 = AI1 + AI2 > 0; 6 = AI1 + AI2; 7 = Electronic potentiometer; 8 = Multispeed; 9 = Serial/USB; 11 = CO/DN/PB/Eth; 12 = SoftPLC; 14 = AI1 > 0; 15 = AI2 > 0; 16 = AI3 > 0; 17 = FI > 0
HR223doc P0223LOC rotation selectionUINT16Read/write0 = Clockwise; 1 = Counterclockwise; 2 = HMI key (FWD); 3 = HMI key (REV); 4 = DIx; 5 = Serial/USB (F); 6 = Serial/USB (R); 9 = CO/DN/PB/Eth (F); 10 = CO/DN/PB/Eth (R); 12 = SoftPLC
HR224doc P0224LOC run/stop selectionUINT16Read/write0 = HMI keys; 1 = DIx; 2 = Serial/USB; 4 = CO/DN/PB/Eth; 5 = SoftPLC
HR226doc P0226REM rotation selectionSame options as P0223.UINT16Read/write0 = Clockwise; 1 = Counterclockwise; 2 = HMI key (FWD); 3 = HMI key (REV); 4 = DIx; 5 = Serial/USB (F); 6 = Serial/USB (R); 9 = CO/DN/PB/Eth (F); 10 = CO/DN/PB/Eth (R); 12 = SoftPLC
HR227doc P0227REM run/stop selectionSet 2 to take run/stop from P0682.UINT16Read/write0 = HMI keys; 1 = DIx; 2 = Serial/USB; 4 = CO/DN/PB/Eth; 5 = SoftPLC
HR229doc P0229Stop mode selectionApplies to every command source.UINT16Read/write0 = Ramp to stop; 1 = Coast to stop; 2 = Quick stop (P0106)
HR295doc P0295Inverter rated currentFixed by drive model.UINT16× 0.1ARead
HR308doc P0308Serial addressModbus slave address; default 1.UINT16Read/write
HR310doc P0310Serial baud rateDefault 1 (19200).UINT16Read/write0 = 9600 bit/s; 1 = 19200 bit/s; 2 = 38400 bit/s
HR311doc P0311Serial byte formatDefault 1 (8E1).UINT16Read/write0 = 8 bits, no parity, 1 stop; 1 = 8 bits, even, 1 stop; 2 = 8 bits, odd, 1 stop; 3 = 8 bits, no parity, 2 stop; 4 = 8 bits, even, 2 stop; 5 = 8 bits, odd, 2 stop
HR312doc P0312Serial protocolDefault 2 (Modbus RTU slave on serial 1).UINT16Read/write0 = HMI-1; 1 = SymbiNet-1; 2 = Modbus RTU-1; 3 = BACnet-1; 5 = Master RTU-1; 6 = HMI-1 / Modbus-2; 7 = Modbus RTU-2; 8 = HMI-1 / BACnet-2; 9 = BACnet-2; 12 = HMI-1 / Modbus master-2; 13 = RTU master-2; 14 = HMI-1 / SymbiNet-2; 15 = SymbiNet-2
HR313doc P0313Communication error actionWhat the drive does on serial timeout; default 1.UINT16Read/write0 = Inactive; 1 = Ramp stop; 2 = General disable; 3 = Go to LOC; 4 = LOC keep enabled; 5 = Cause fault
HR314doc P0314Serial watchdogTimeout without valid telegrams; 0.0 = off (default).UINT16× 0.1sRead/write
HR316doc P0316Serial interface statusUINT16Read0 = Inactive; 1 = Active; 2 = Watchdog error
HR400doc P0400Motor rated voltageUINT16VRead/write
HR401doc P0401Motor rated currentUINT16× 0.1ARead/write
HR402doc P0402Motor rated speedUINT16rpmRead/write
HR403doc P0403Motor rated frequency8192 in P0681/P0683 equals this frequency.UINT16HzRead/write
HR680doc P0680Logical status (status word)Main drive status word.BITMAP16Readbit 0 = STO active (drive locked, A0160); bit 1 = Run command present; bit 2 = Fire Mode active; bit 4 = Quick stop active; bit 5 = 2nd ramp (P0102/P0103) in use; bit 6 = Config mode (parameter incompatibility, cannot enable); bit 7 = Alarm present; bit 8 = Motor running per reference and command; bit 9 = Drive enabled and ready to run; bit 10 = 1 = forward, 0 = reverse; bit 11 = JOG active; bit 12 = 1 = Remote, 0 = Local; bit 13 = Undervoltage; bit 14 = PID in automatic (0 = manual); bit 15 = Fault present
HR681doc P0681Speed in 13 bitsSigned; 8192 = P0403 rated frequency, negative = reverse.INT16Read
HR682doc P0682Serial/USB control wordWritable only over the network.BITMAP16Read/writebit 0 = 1 = run (accelerate to reference), 0 = ramp stop; bit 1 = General enable (0 = disable, motor coasts); bit 2 = 1 = run in reference direction (forward), 0 = reverse; bit 3 = JOG enable; bit 4 = 1 = go to Remote, 0 = go to Local; bit 5 = Use 2nd ramp (P0102/P0103); bit 6 = Quick stop; bit 7 = Fault reset (1 = reset if faulted); bit 13 = Internal PID: 1 = manual, 0 = automatic (R04 manual); bit 14 = External PID: 1 = manual, 0 = automatic (R04 manual)
HR683doc P0683Serial/USB speed referenceSigned 13-bit scale: 8192 = P0403; sign combines with P0682 bit 2.INT16Read/write
HR690doc P0690Logical status 2Extra status flags.BITMAP16Readbit 4 = Output frequency reduction active; bit 5 = Sleep mode active; bit 6 = Decelerating; bit 7 = Accelerating; bit 8 = Ramp frozen; bit 9 = Output frequency reached reference; bit 10 = DC link regulation / current limit active (P0150); bit 11 = Factory default loaded for 50 Hz (P0204 = 6); bit 12 = Ride-through running; bit 13 = Flying start running; bit 14 = DC braking active; bit 15 = PWM output pulses enabled
HR695doc P0695DOx valueDrives DO1-DO5 when that output's function is set to P0695.BITMAP16Read/writebit 0 = DO1 (1 = closed); bit 1 = DO2 (1 = closed); bit 2 = DO3 (1 = closed); bit 3 = DO4 (1 = closed); bit 4 = DO5 (1 = closed)
HR696doc P0696AOx value 1Analog output value from network; 32767 = 100%.INT16Read/write
HR697doc P0697AOx value 2Analog output value from network; 32767 = 100%.INT16Read/write
HR698doc P0698AOx value 3Analog output value from network (AO3 = FO); 32767 = 100%.INT16Read/write

Notes on this map

Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.

Questions about the WEG CFW500 frequency inverter (Modbus RTU)

What Modbus registers does the WEG CFW500 frequency inverter (Modbus RTU) have?

This map lists 62 registers: 62 holding registers. 30 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.

Are the WEG CFW500 frequency inverter (Modbus RTU) Modbus addresses 0-based or 1-based?

The manufacturer's document numbers registers 0-based (the number printed is the address on the wire). Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. The Modbus guide says parameters are mapped with offset zero: the parameter number is the holding register address (P0100 = address 100 = 0064h), and it lists P0680 at holding register address 680. So P0680 is requested as address 680; a master that numbers holding registers from 40001 needs 40681. Values travel as plain integers with no decimal point; the guide says the number of decimal places comes from the programming manual, so scale here follows the decimals in each parameter's range there (e.g. P0003 0.0-200.0 A -> 0.1 A).

What are the minimum Modbus registers to integrate the WEG CFW500 frequency inverter (Modbus RTU)?

Start with HR 682 Serial/USB control word (Control word: run, enable, direction, fault reset); HR 683 Serial/USB speed reference (Speed reference, 8192 = P0403); HR 680 Logical status (status word) (Status word: running, remote, fault); HR 5 Output frequency (Output frequency (0.1 Hz)); HR 3 Motor current (Motor current (0.1 A)); HR 4 DC link voltage (Ud) (DC link voltage); HR 49 Present fault (Present fault number); HR 48 Present alarm (Present alarm number).

How do I enable Modbus control of the WEG CFW500 frequency inverter (Modbus RTU)?

P0312 selects the serial protocol (2 = Modbus RTU slave on serial 1, 7 = on the second port of a CRS485/CUSB/CRS232 module). Set P0308 address, P0310 baud and P0311 byte format. For network control set P0220 = 1 (always Remote) or 6 (Local/Remote switched by P0682 bit 4), P0222 = 9 (reference from P0683), P0226 = 5 or 6 (direction from P0682 bit 2) and P0227 = 2 (run/stop from P0682). Use P0221/P0223/P0224 instead if the drive runs in Local.

What happens when the WEG CFW500 frequency inverter (Modbus RTU) loses Modbus communication?

P0314 Serial Watchdog (0.0-999.0 s, 0 = off by default) raises alarm A0128 when no valid telegram arrives in time; P0313 picks the reaction (0 none, 1 ramp stop default, 2 coast/general disable, 3 go to Local, 4 Local keeping the network commands, 5 fault F0228). Timing starts at the first valid telegram after power-up. P0316 shows 2 while the watchdog error is active.

Where is the official WEG CFW500 frequency inverter (Modbus RTU) Modbus documentation?

The source is Modbus RTU CFW500 User's Guide (10002253377 / 04), revision 2025-06, published free by WEG at https://static.weg.net/medias/downloadcenter/h73/ha4/WEG-CFW500-modbus-rtu-manual-10002253377-en.pdf.

Source: Modbus RTU CFW500 User's Guide · 10002253377 / 04 · rev. 2025-06. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.