WEG CFW11 Modbus register map
Frequency inverter with Modbus RTU through the RS485-01 or RS232-01 accessory: monitoring, fault history, ramps and references, command sources, serial interface, motor data and serial control
- Official
- 175 registers
- Modbus RTU
- Revision 1 · 2026-10-29
- Identity: firmware
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1
- Serial
- 9600 8N2 · 9600 baud, 8 data bits, none parity, 2 stop bits
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
- Max read
- 29 registers per request
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 175 holding registers
- Groups
- 11
- Translation tables
- 11
- Revision
- 1 · 2026-10-29
- Added
- ()
- File
- maps/weg/cfw11.mbmap.json · 41 KB · history
- SHA-256
- e8344952b97ac54a7c09f937748f087f40114854a5386daf00592b5c2c95a3ff
- Manufacturer
- weg.net
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Firmware | Software version | holding 23 | uint16 |
Sources and notes
- WEG CFW-11 programming manual, software version 2.0X · version 0899.5664/04 quick reference of parameters (section 0): ranges, defaults, units and RO/CFG marks
- WEG CFW-11 RS232 / RS485 serial communication manual · version 0899.5741 rev. 03 Modbus RTU functions, addressing, P0680-P0699
Source: WEG CFW-11 programming manual V2.0X (0899.5664/04) and CFW-11 serial communication manual (0899.5741)
- Modbus RTU needs an RS485-01 or RS232-01 accessory (or CAN/RS485-01) and P0312 = 2 (Modbus RTU, default).
- Every parameter Pxxxx is the holding register of the same number (P0003 is register 3); the Modicon address is 40001 + the number.
- Values travel as integers: a parameter shown as 3.5 A is sent as 35. Scales in this map follow the decimal places of the programming manual.
- Functions 03, 06, 16 and 43 (device identification). A telegram cannot exceed 64 bytes, so a read returns at most 29 registers.
- Serial defaults: address 1 (P0308), 9600 bit/s (P0310 = 0). The programming manual V2.0X gives P0311 = 3 (8 data bits, no parity, 2 stop bits) as the default; the serial communication manual gives P0311 = 0 (8N1). Check P0311 on the drive.
- To control the drive over Modbus, set the command and reference sources to Serial/USB (P0105, P0220 to P0228). P0682 (control word) and P0683 (speed reference, 8192 = synchronous speed) can be written only through the serial interface or USB.
- Parameters marked 'can be changed only with the motor stopped' are the manual's CFG parameters; the drive refuses a write while the motor runs.
- Only the parameters used to monitor and run the drive are listed; every other parameter is the register of its number, with the range given in the programming manual. The fault history dates and times (P0051 to P0089, except the fault numbers) are left out because the manual does not give their encoding.
- Written from the manufacturer's manuals; not tested on a device.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 0 | uint16 | RW | P0000 | |||
| HR | 1 | uint16 | R | rpm | P0001 | ||
| HR | 2 | uint16 | R | rpm | P0002 | ||
| HR | 3 | uint16 | R | A | ×0.1 | P0003 | |
| HR | 4 | uint16 | R | V | P0004 | ||
| HR | 5 | uint16 | R | Hz | ×0.1 | P0005 | |
| HR | 6 | uint16 | R | P0006 | |||
| HR | 7 | uint16 | R | V | P0007 | ||
| HR | 9 | int16 | R | % | ×0.1 | P0009 | |
| HR | 10 | uint16 | R | kW | ×0.1 | P0010 | |
| HR | 12 | bool bit 0 | R | P0012 | |||
| HR | 12 | bool bit 1 | R | P0012 | |||
| HR | 12 | bool bit 2 | R | P0012 | |||
| HR | 12 | bool bit 3 | R | P0012 | |||
| HR | 12 | bool bit 4 | R | P0012 | |||
| HR | 12 | bool bit 5 | R | P0012 | |||
| HR | 12 | bool bit 6 | R | P0012 | |||
| HR | 12 | bool bit 7 | R | P0012 | |||
| HR | 13 | bool bit 0 | R | P0013 | |||
| HR | 13 | bool bit 1 | R | P0013 | |||
| HR | 13 | bool bit 2 | R | P0013 | |||
| HR | 13 | bool bit 3 | R | P0013 | |||
| HR | 13 | bool bit 4 | R | P0013 | |||
| HR | 14 | uint16 | R | % | ×0.01 | P0014 | |
| HR | 15 | uint16 | R | % | ×0.01 | P0015 | |
| HR | 16 | int16 | R | % | ×0.01 | P0016 | |
| HR | 17 | int16 | R | % | ×0.01 | P0017 | |
| HR | 18 | int16 | R | % | ×0.01 | P0018 | |
| HR | 19 | int16 | R | % | ×0.01 | P0019 | |
| HR | 20 | int16 | R | % | ×0.01 | P0020 | |
| HR | 21 | int16 | R | % | ×0.01 | P0021 | |
| HR | 23 | uint16 | R | ×0.01 | P0023 | ||
| HR | 25 | bool bit 0 | R | IOC-01/IOC-02 module (bit 0 of P0025) | |||
| HR | 25 | bool bit 1 | R | IOC-01/IOC-02 module (bit 1 of P0025) | |||
| HR | 25 | bool bit 2 | R | IOC-01/IOC-02 module (bit 2 of P0025) | |||
| HR | 25 | bool bit 3 | R | IOC-01/IOC-02 module (bit 3 of P0025) | |||
| HR | 25 | bool bit 4 | R | IOC-01/IOC-02 module (bit 4 of P0025) | |||
| HR | 25 | bool bit 5 | R | IOC-01/IOC-02 module (bit 5 of P0025) | |||
| HR | 25 | bool bit 6 | R | IOC-01/IOC-02 module (bit 6 of P0025) | |||
| HR | 25 | bool bit 7 | R | IOC-01/IOC-02 module (bit 7 of P0025) | |||
| HR | 26 | bool bit 0 | R | IOC-01/IOC-02 module (bit 0 of P0026) | |||
| HR | 26 | bool bit 1 | R | IOC-01/IOC-02 module (bit 1 of P0026) | |||
| HR | 26 | bool bit 2 | R | IOC-01/IOC-02 module (bit 2 of P0026) | |||
| HR | 26 | bool bit 3 | R | IOC-01/IOC-02 module (bit 3 of P0026) | |||
| HR | 26 | bool bit 4 | R | IOC-01/IOC-02 module (bit 4 of P0026) | |||
| HR | 26 | bool bit 5 | R | IOC-01/IOC-02 module (bit 5 of P0026) | |||
| HR | 26 | bool bit 6 | R | IOC-01/IOC-02 module (bit 6 of P0026) | |||
| HR | 26 | bool bit 7 | R | IOC-01/IOC-02 module (bit 7 of P0026) | |||
| HR | 27 | uint16 | R | P0027; accessory identification code (hex) | |||
| HR | 28 | uint16 | R | P0028; accessory identification code (hex) | |||
| HR | 29 | uint16 | R | P0029; bits 0-5 rated current, 6-7 rated voltage, 8 EMC filter, 9 safety relay, 10-11 supply type, 12 braking IGBT | |||
| HR | 30 | int16 | R | °C | ×0.1 | P0030 | |
| HR | 31 | int16 | R | °C | ×0.1 | P0031 | |
| HR | 32 | int16 | R | °C | ×0.1 | P0032 | |
| HR | 33 | int16 | R | °C | ×0.1 | P0033 | |
| HR | 34 | int16 | R | °C | ×0.1 | P0034 | |
| HR | 36 | uint16 | R | rpm | P0036 | ||
| HR | 37 | uint16 | R | % | P0037 | ||
| HR | 38 | uint16 | R | rpm | P0038 | ||
| HR | 39 | uint16 | R | P0039 | |||
| HR | 40 | uint16 | R | % | ×0.1 | P0040 | |
| HR | 41 | uint16 | R | % | ×0.1 | P0041 | |
| HR | 42 | uint16 | R | h | P0042 | ||
| HR | 43 | uint16 | R | h | ×0.1 | P0043 | |
| HR | 44 | uint16 | R | kWh | P0044 | ||
| HR | 45 | uint16 | R | h | P0045 | ||
| HR | 48 | uint16 | R | P0048; alarm number (Axxx) | |||
| HR | 49 | uint16 | R | P0049; fault number (Fxxx) | |||
| HR | 50 | uint16 | R | P0050; fault number (Fxxx) | |||
| HR | 54 | uint16 | R | P0054; fault number (Fxxx) | |||
| HR | 58 | uint16 | R | P0058; fault number (Fxxx) | |||
| HR | 62 | uint16 | R | P0062; fault number (Fxxx) | |||
| HR | 66 | uint16 | R | P0066; fault number (Fxxx) | |||
| HR | 70 | uint16 | R | P0070; fault number (Fxxx) | |||
| HR | 74 | uint16 | R | P0074; fault number (Fxxx) | |||
| HR | 78 | uint16 | R | P0078; fault number (Fxxx) | |||
| HR | 82 | uint16 | R | P0082; fault number (Fxxx) | |||
| HR | 86 | uint16 | R | P0086; fault number (Fxxx) | |||
| HR | 90 | uint16 | R | A | ×0.1 | P0090 | |
| HR | 91 | uint16 | R | V | P0091 | ||
| HR | 92 | uint16 | R | rpm | P0092 | ||
| HR | 93 | uint16 | R | rpm | P0093 | ||
| HR | 94 | uint16 | R | Hz | ×0.1 | P0094 | |
| HR | 95 | uint16 | R | V | P0095 | ||
| HR | 96 | uint16 | R | P0096; bit 0 = DI1 ... bit 7 = DI8 | |||
| HR | 97 | uint16 | R | P0097; bit 0 = DO1 ... bit 4 = DO5 | |||
| HR | 100 | uint16 | RW | s | ×0.1 | P0100 | |
| HR | 101 | uint16 | RW | s | ×0.1 | P0101 | |
| HR | 102 | uint16 | RW | s | ×0.1 | P0102 | |
| HR | 103 | uint16 | RW | s | ×0.1 | P0103 | |
| HR | 104 | uint16 | RW | P0104 | |||
| HR | 105 | uint16 | RW | P0105; can be changed only with the motor stopped | |||
| HR | 120 | uint16 | RW | P0120 | |||
| HR | 121 | uint16 | RW | rpm | P0121 | ||
| HR | 122 | uint16 | RW | rpm | P0122 | ||
| HR | 123 | uint16 | RW | rpm | P0123; PM and vector control | ||
| HR | 124 | uint16 | RW | rpm | P0124 | ||
| HR | 125 | uint16 | RW | rpm | P0125 | ||
| HR | 126 | uint16 | RW | rpm | P0126 | ||
| HR | 127 | uint16 | RW | rpm | P0127 |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).