WEG SSW900 Modbus register map
Soft starter with Modbus RTU through the SSW900-CRS485-W accessory: measurements, status and control words, start and stop settings, motor data and serial settings
- Official
- 108 registers
- Modbus RTU
- Revision 1 · 2026-11-10
- Identity: firmware, serial number
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
- 19200 8E1 · 19200 baud, 8 data bits, even parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 108 holding registers
- Groups
- 12
- Translation tables
- 17
- Revision
- 1 · 2026-11-10
- Added
- ()
- File
- maps/weg/ssw900.mbmap.json · 23 KB · history
- SHA-256
- 2201db772f92edf6c98d2dff162d52f6aad9549adc6f32ef8d512823efec6b75
- 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 |
|---|---|---|---|---|
| Serial number | Serial number | holding 298 | uint32 CDAB | |
| Firmware | Software package version | holding 328 | uint16 |
Sources and notes
- WEG SSW900-CRS485-W Modbus RTU manual do usuário (V1.6X) · version 10004628735 / R06, 2024-10 linked in issue #193; memory map and table 10.2 (Net Id of each parameter)
Source: WEG SSW900-CRS485-W Modbus RTU user's manual V1.6X, document 10004628735 rev. 06
- The soft starter needs the SSW900-CRS485-W accessory for Modbus RTU. Every parameter is the holding register whose number is its Net Id (table 10.2 of the manual); the Modicon address is 40001 + the number.
- Values travel as integers without decimals: a current of 12.3 A is sent as 123. Scales follow the decimal places column of table 10.2.
- 32-bit values (currents, powers, serial number, energy, hours) use two registers with the least significant word first, so word_order is little.
- The manual lists 8-bit parameters; they are read and written as one register each.
- Only the most used parameters are listed, not the full table 10.2. Other parameters can be added the same way (register = Net Id).
- The parameter numbers (S1.1.1 and so on) in the descriptions are the menu codes of the manual.
- The manual is in Portuguese; the English edition for V1.4X (document 10004628707) could not be downloaded. Written from the manufacturer's document; not tested on a device.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 1 | uint16 | R | % | ×0.1 | S1.1.6; soft starter current as a percentage of its rated current | |
| HR | 2 | uint16 | R | % | ×0.1 | S1.1.5 | |
| HR | 3 | uint16 | R | % | ×0.1 | S1.2.5 | |
| HR | 4 | uint16 | R | V | ×0.1 | S1.2.4 | |
| HR | 5 | uint16 | R | % | ×0.1 | S1.2.6 | |
| HR | 6 | uint16 | R | % | ×0.1 | S1.3.2 | |
| HR | 7 | uint16 | R | V | ×0.1 | S1.3.1 | |
| HR | 8 | uint16 | R | ×0.01 | S1.5.4 | ||
| HR | 9 | uint16 | R | % | ×0.1 | S1.7.1; torque as a percentage of rated | |
| HR | 10 | uint32 CDAB | R | kW | ×0.1 | S1.5.1 | |
| HR | 12 | uint32 CDAB | R | kVA | ×0.1 | S1.5.2 | |
| HR | 14 | uint32 CDAB | R | kVAr | ×0.1 | S1.5.3 | |
| HR | 16 | uint16 | R | S1.6.1 | |||
| HR | 17 | uint16 | R | Hz | ×0.1 | S1.6.2 | |
| HR | 18 | uint16 | R | S1.6.3 | |||
| HR | 24 | uint32 CDAB | R | A | ×0.1 | S1.1.4 | |
| HR | 26 | uint32 CDAB | R | A | ×0.1 | S1.1.1 | |
| HR | 28 | uint32 CDAB | R | A | ×0.1 | S1.1.2 | |
| HR | 30 | uint32 CDAB | R | A | ×0.1 | S1.1.3 | |
| HR | 33 | uint16 | R | V | ×0.1 | S1.2.1 | |
| HR | 34 | uint16 | R | V | ×0.1 | S1.2.2 | |
| HR | 35 | uint16 | R | V | ×0.1 | S1.2.3 | |
| HR | 42 | uint32 CDAB | R | s | D6.1; value in seconds | ||
| HR | 44 | uint32 CDAB | R | s | D6.2; value in seconds | ||
| HR | 50 | uint16 | R | % | ×0.1 | S4.2.1; highest value, a fault occurs at 100 % | |
| HR | 52 | uint32 CDAB | R | kWh | ×0.1 | D4.6.1; total energy | |
| HR | 59 | uint16 | R | D4.7.1; number of starts | |||
| HR | 60 | int16 | R | °C | S4.1.1 | ||
| HR | 63 | int16 | R | °C | S4.3.1; needs the PT100 accessory | ||
| HR | 64 | int16 | R | °C | S4.3.2; needs the PT100 accessory | ||
| HR | 65 | int16 | R | °C | S4.3.3; needs the PT100 accessory | ||
| HR | 90 | uint16 | R | D1.1.1; fault number | |||
| HR | 91 | uint16 | R | D2.1.1; alarm number | |||
| HR | 92 | uint16 | R | D2.1.2 | |||
| HR | 93 | uint16 | R | D2.1.3 | |||
| HR | 94 | uint16 | R | D2.1.4 | |||
| HR | 95 | uint16 | R | D2.1.5 | |||
| HR | 101 | uint16 | RW | % | C1.2 | ||
| HR | 102 | uint16 | RW | s | C1.3 | ||
| HR | 104 | uint16 | RW | s | C1.13 | ||
| HR | 110 | uint16 | RW | % | C1.7; percent of rated motor current | ||
| HR | 111 | uint16 | RW | % | C1.5 | ||
| HR | 202 | uint16 | RW | C1.1; changed only with the motor stopped | |||
| HR | 220 | uint16 | RW | C3.1; see the manual for the values | |||
| HR | 229 | uint16 | RW | C3.2 | |||
| HR | 230 | uint16 | RW | C3.3 | |||
| HR | 232 | uint16 | R | S3.1.2 | |||
| HR | 293 | uint16 | R | S3.4.1 | |||
| HR | 294 | uint16 | R | S3.3.1 | |||
| HR | 296 | uint16 | R | S3.3.2 | |||
| HR | 297 | uint16 | R | S3.3.3 | |||
| HR | 298 | uint32 CDAB | R | S3.3.4 | |||
| HR | 328 | uint16 | R | ×0.01 | S3.2.1 | ||
| HR | 335 | uint16 | R | S3.5.1 | |||
| HR | 336 | uint16 | R | S3.5.2 | |||
| HR | 400 | uint16 | RW | V | C2.1 | ||
| HR | 401 | uint16 | RW | A | ×0.1 | C2.2 | |
| HR | 402 | uint16 | RW | rpm | C2.3 | ||
| HR | 404 | uint16 | RW | kW | ×0.1 | C2.4 | |
| HR | 677 | uint16 | R | S2.1.1; bit 0 to 5 = DI1 to DI6 | |||
| HR | 678 | uint16 | R | S2.1.2; bit 0 to 2 = DO1 to DO3 | |||
| HR | 679 | uint16 | R | S3.1.1 | |||
| HR | 680 | uint16 | R | S3.1.3.1; full 16-bit word | |||
| HR | 680 | bool bit 0 | R | ||||
| HR | 680 | bool bit 1 | R | ||||
| HR | 680 | bool bit 2 | R | ||||
| HR | 680 | bool bit 3 | R | ||||
| HR | 680 | bool bit 4 | R | ||||
| HR | 680 | bool bit 5 | R | ||||
| HR | 680 | bool bit 6 | R | ||||
| HR | 680 | bool bit 7 | R | ||||
| HR | 680 | bool bit 8 | R | 1 = remote, 0 = local | |||
| HR | 680 | bool bit 9 | R | ||||
| HR | 680 | bool bit 10 | R | ||||
| HR | 680 | bool bit 11 | R | ||||
| HR | 680 | bool bit 12 | R | time before start | |||
| HR | 680 | bool bit 13 | R | time after stop | |||
| HR | 680 | bool bit 14 | R | ||||
| HR | 680 | bool bit 15 | R | ||||
| HR | 685 | uint16 | RW | S5.2.5; full 16-bit word; the RS485 accessory in slot 1 uses it | |||
| HR | 685 | bool bit 0 | RW | 1 = run, 0 = stop | |||
| HR | 685 | bool bit 1 | RW | ||||
| HR | 685 | bool bit 2 | RW | ||||
| HR | 685 | bool bit 3 | RW | 1 = counter-clockwise, 0 = clockwise | |||
| HR | 685 | bool bit 4 | RW | 1 = remote, 0 = local | |||
| HR | 685 | bool bit 7 | RW | 0 to 1 resets a fault | |||
| HR | 686 | uint16 | RW | S5.2.6; full 16-bit word; the RS485 accessory in slot 2 uses it | |||
| HR | 686 | bool bit 0 | RW | 1 = run, 0 = stop | |||
| HR | 686 | bool bit 1 | RW | ||||
| HR | 686 | bool bit 2 | RW | ||||
| HR | 686 | bool bit 3 | RW | 1 = counter-clockwise, 0 = clockwise | |||
| HR | 686 | bool bit 4 | RW | 1 = remote, 0 = local | |||
| HR | 686 | bool bit 7 | RW | 0 to 1 resets a fault | |||
| HR | 692 | uint16 | R | S3.1.4.1; bit field: system start, firmware download, guided start-up, incompatible settings, reset needed, HMI copy, test mode | |||
| HR | 695 | uint16 | RW | S5.3.1; bit 0 to 2 set DO1 to DO3 over the network | |||
| HR | 696 | uint16 | RW | S5.3.2.1; 0 = 0 %, 1023 = 100 % | |||
| HR | 730 | uint16 | RW | C8.2.1 | |||
| HR | 731 | uint16 | RW | C8.2.2 | |||
| HR | 732 | uint16 | RW | C8.2.3 | |||
| HR | 733 | uint16 | RW | C8.2.4 |
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).