An unofficial summary of facts (addresses, types, units, scaling) from the maker's manual. Not affiliated with the maker; values can differ by firmware or model. Always check the device manual before writing (run commands, settings).
Default communication
| Protocol | Modbus RTU |
|---|---|
| Baud (factory) | 19200 bps — options: 4800, 9600, 19200 |
| Data · parity · stop | 8 · Even · 1 |
| Slave ID (factory) | 1 (1~247) |
| Max per request | 29 registers |
| Manual address style | Wire address as is (0-based) |
- Addressing: the read example in Modbus manual BBV52816 (p.12) sends 02 03 0C 1E 00 04 27 6C to read W3102-W3105 (16#0C1E-) and gets 02 03 08 00 28 02 58 01 F4 00 00 52 B0 (SFr 4 kHz, tFr 60 Hz, HSP 50 Hz, LSP 0, matching the 0.1 kHz / 0.1 Hz units in the variables manual); the write example (p.12) is 02 06 23 29 00 0D 92 70 (W9001 = 16#2329). Manual number (decimal) = frame address. CRCs of these three frames and of the identification request (02 2B 0E 01 00 34 77) match calculation. The FC16 example (p.14) prints CRCs 51 7F and 8F ED but they compute to 73 A4 and 9B B7; this does not affect addressing.
- Factory settings: Add 1 (1-247), tbr 19.2 kbps (4.8/9.6/19.2), tFO 8E1 (8O1/8E1/8N1/8N2), ttO 10 s (BBV52816 p.9, p.11). The remote display terminal needs 19.2 kbps and 8E1.
- Function codes 03 (up to 29 words), 06, 16 (up to 27 words) and 43 (identification) (BBV52816 p.12).
Registers (37)
«Wire» is the 0-based address in the request frame (PortDock's «0-based» notation). Value = raw × scale. Table: HR holding register, IR input register, CO coil, DI discrete input. Function codes in hex.
Swipe the table sideways — the first column (manual address) stays put.
| Manual | Wire | Table | Name | Type | Unit · scale | R/W | FC | Details |
|---|---|---|---|---|---|---|---|---|
| 3102 | 3102 (0x0C1E) | HR | SFr switching frequency | U16 | ×0.1 kHz | R/W | 03·06·10 | Factory setting 40 (4 kHz) Range 2 ~ 16 kHz p.31 |
| 3103 | 3103 (0x0C1F) | HR | tFr maximum output frequency | U16 | ×0.1 Hz | R/W | 03·06·10 | Factory setting 600 (bFr = 50) / 720 (bFr = 60). Writable only while stopped (R/WS) Range 10 ~ 500 Hz p.31 |
| 3104 | 3104 (0x0C20) | HR | HSP high speed | U16 | ×0.1 Hz | R/W | 03·06·10 | Motor frequency at max. reference. Factory 500 (bFr = 50) / 600 (bFr = 60), range LSP to tFr p.27 |
| 3105 | 3105 (0x0C21) | HR | LSP low speed | U16 | ×0.1 Hz | R/W | 03·06·10 | Motor frequency at min. reference. Factory 0, range 0 to HSP p.27 |
| 3201 | 3201 (0x0C81) | HR | ETA status word | U16 | R | 03 | Examples: 0627h forward, speed reached; 8627h reverse, speed reached; 0227h forward, ACC or DEC (p.10) b0 Ready to switch on · b1 Switched on · b2 Operation enabled · b3 Malfunction, detected fault (FAI) · b4 Voltage disabled (always 0) · b5 Quick stop (active at 0) · b6 Switch on disabled · b7 Alarm present · b9 1 = no forced local mode (0 = FLO in progress) · b10 Reference reached · b11 LFRD reference exceeded (< LSP or > HSP) · b14 Stop imposed by STOP key · b15 Reverse rotation (output frequency) p.21 | |
| 3202 | 3202 (0x0C82) | HR | rFr output frequency | S16 | ×0.1 Hz | R | 03 | 0.1 Hz when CMI bit 9 = 0 (factory). With bit 9 = 1, 32767 = 600 Hz p.21 |
| 3203 | 3203 (0x0C83) | HR | FrH frequency reference before ramp | U16 | ×0.1 Hz | R | 03 | p.21 |
| 3204 | 3204 (0x0C84) | HR | LCr motor current | U16 | ×0.1 A | R | 03 | p.21 |
| 3205 | 3205 (0x0C85) | HR | Otr motor torque | U16 | % | R | 03 | 100% = nominal motor torque p.21 |
| 3206 | 3206 (0x0C86) | HR | ETI extended status word | U16 | R | 03 | b0 Write parameters not authorized (saving to EEPROM) · b1 Parameter consistency check · b2 Fault state reset authorized · b4 Motor running · b5 DC injection · b6 Drive in transient state · b7 Motor thermal overload alarm · b8 Alarm if excessive braking · b9 Drive accelerating · b10 Drive decelerating · b11 Current limit alarm · b12 Fast stop in progress · b13 Control channel bit a (14/13: 00 terminals/keypad, 01 remote display, 10 Modbus, 11 CANopen) · b14 Control channel bit b · b15 Reverse rotation requested (reference) p.22 | |
| 3207 | 3207 (0x0C87) | HR | ULn line voltage | U16 | ×0.1 V | R | 03 | Line voltage via the DC bus p.21 |
| 3209 | 3209 (0x0C89) | HR | tHd drive thermal state | U16 | % | R | 03 | 100% = nominal, 118% = OHF threshold p.21 |
| 3210 | 3210 (0x0C8A) | HR | TDM max. drive thermal state | U16 | % | R | 03 | Reset to zero at power down p.21 |
| 3211 | 3211 (0x0C8B) | HR | OPr motor power | U16 | % | R | 03 | 100% = nominal motor power p.21 |
| 3231 | 3231 (0x0C9F) | HR | rtH operating time | U16 | h | R | 03 | Total time the motor has been powered up. Reset by rPr p.21 |
| 3250 | 3250 (0x0CB2) | HR | LRS1 extended status word 1 | U16 | R | 03 | b1 Drive detected fault · b2 Motor running · b4 Frequency threshold (Ftd) reached · b5 High speed reached · b6 Current threshold (Ctd) reached · b7 Speed reference reached · b8 Motor thermal overload alarm · b9 Brake control in progress (released) · b12 Loss of 4-20 mA · b14 Drive thermal overload alarm p.22 | |
| 3252 | 3252 (0x0CB4) | HR | LRS3 extended status word 3 | U16 | R | 03 | b0 Reference given by Fr2 · b1 Command given by Fr2 or Cd2 · b2 ACC2 and DEC2 used · b3 CL2 used for current limiting · b11 Motor 1 is used · b12 Motor 2 is used p.23 | |
| 5240 | 5240 (0x1478) | HR | IOLR value of logic I/O | U16 | R/W | 03·06·10 | Only bits 8-10 are writable, and only when that output is not assigned b0 Logic input LI1 · b1 Logic input LI2 · b2 Logic input LI3 · b3 Logic input LI4 · b4 Logic input LI5 · b5 Logic input LI6 · b7 Keypad present · b8 R1 relay output · b9 R2 relay output · b10 LO logic output · b14 0 = AOC/AOV logic output, 1 = analog output p.20, p.23 | |
| 5242 | 5242 (0x147A) | HR | AI1C analog input AI1 | U16 | mV | R | 03 | Range 0 ~ 10000 mV p.23 |
| 5243 | 5243 (0x147B) | HR | AI2C analog input AI2 | S16 | mV | R | 03 | Range -10000 ~ 10000 mV p.23 |
| 5244 | 5244 (0x147C) | HR | AI3C analog input AI3 | U16 | µA | R | 03 | Range 0 ~ 20000 µA p.23 |
| 5261 | 5261 (0x148D) | HR | AO1R analog output value | U16 | R/W | 03·06·10 | 10000 = 10 V (AO1t = 10U) or 20 mA (OA/4A). Writable only when dO is not assigned Range 0 ~ 10000 p.20, p.23 | |
| 6001 | 6001 (0x1771) | HR | Add Modbus drive address | U16 | R/W | 03·06·10 | Factory setting 1. Writable only while stopped (R/WS) Range 1 ~ 247 p.55 | |
| 6003 | 6003 (0x1773) | HR | tbr Modbus transmission speed | U16 | R/W | 03·06·10 | Factory setting 32. The remote display terminal works only at 19200 bps. Writable only while stopped (R/WS) 24 = 4800 bps · 28 = 9600 bps · 32 = 19200 bps p.55 | |
| 6004 | 6004 (0x1774) | HR | tFO Modbus communication format | U16 | R/W | 03·06·10 | Factory setting 3 (8E1). The remote display terminal works only with 8E1. Writable only while stopped (R/WS) 2 = 8O1 · 3 = 8E1 · 4 = 8N1 · 5 = 8N2 p.55 | |
| 6005 | 6005 (0x1775) | HR | ttO Modbus time-out | U16 | ×0.1 s | R/W | 03·06·10 | Factory setting 100 (10 s). Writable only while stopped (R/WS) Range 0.1 ~ 10 s p.55 |
| 7121 | 7121 (0x1BD1) | HR | LFt last detected fault | U16 | R | 03 | Kept after the cause disappears and after power cycling 0 = nOF: no fault code saved · 3 = CFF: incorrect configuration · 4 = CFI: invalid configuration · 5 = SLF: Modbus communication interruption · 6 = ILF: internal communication interruption · 7 = CnF: communication option card · 8 = EPF: external fault · 9 = OCF: overcurrent · 10 = CrF: capacitor pre-charge · 13 = LFF: 4-20 mA loss · 16 = OHF: drive overheating · 17 = OLF: motor overload · 18 = ObF: DC bus overvoltage · 19 = OSF: line supply overvoltage · 20 = OPF: motor phase loss · 21 = PHF: line phase loss · 22 = USF: line supply undervoltage · 23 = SCF: motor short-circuit (phase to phase) · 24 = SOF: motor overspeed · 25 = tnF: auto-tuning unsuccessful · 26 = IF1: unknown rating · 27 = IF2: MMI card · 28 = IF3: MMI communication · 29 = IF4: industrial EEPROM · 30 = EEF: EEPROM memory · 31 = SCF: impeding short-circuit · 32 = SCF: motor short-circuit (to ground) · 33 = OPF: motor phase loss, 3 phases · 34 = COF: communication interruption (CANopen) · 35 = bLF: brake control · 36 = OCF: power module (ATV312·D15·) · 55 = SCF: power module or motor short-circuit at power up p.24 | |
| 7201 | 7201 (0x1C21) | HR | DP1 past detected fault 1 | U16 | R | 03 | Same codes as LFt 0 = nOF: no fault code saved · 3 = CFF: incorrect configuration · 4 = CFI: invalid configuration · 5 = SLF: Modbus communication interruption · 6 = ILF: internal communication interruption · 7 = CnF: communication option card · 8 = EPF: external fault · 9 = OCF: overcurrent · 10 = CrF: capacitor pre-charge · 13 = LFF: 4-20 mA loss · 16 = OHF: drive overheating · 17 = OLF: motor overload · 18 = ObF: DC bus overvoltage · 19 = OSF: line supply overvoltage · 20 = OPF: motor phase loss · 21 = PHF: line phase loss · 22 = USF: line supply undervoltage · 23 = SCF: motor short-circuit (phase to phase) · 24 = SOF: motor overspeed · 25 = tnF: auto-tuning unsuccessful · 26 = IF1: unknown rating · 27 = IF2: MMI card · 28 = IF3: MMI communication · 29 = IF4: industrial EEPROM · 30 = EEF: EEPROM memory · 31 = SCF: impeding short-circuit · 32 = SCF: motor short-circuit (to ground) · 33 = OPF: motor phase loss, 3 phases · 34 = COF: communication interruption (CANopen) · 35 = bLF: brake control · 36 = OCF: power module (ATV312·D15·) · 55 = SCF: power module or motor short-circuit at power up p.24 | |
| 7202 | 7202 (0x1C22) | HR | DP2 past detected fault 2 | U16 | R | 03 | Same codes as LFt 0 = nOF: no fault code saved · 3 = CFF: incorrect configuration · 4 = CFI: invalid configuration · 5 = SLF: Modbus communication interruption · 6 = ILF: internal communication interruption · 7 = CnF: communication option card · 8 = EPF: external fault · 9 = OCF: overcurrent · 10 = CrF: capacitor pre-charge · 13 = LFF: 4-20 mA loss · 16 = OHF: drive overheating · 17 = OLF: motor overload · 18 = ObF: DC bus overvoltage · 19 = OSF: line supply overvoltage · 20 = OPF: motor phase loss · 21 = PHF: line phase loss · 22 = USF: line supply undervoltage · 23 = SCF: motor short-circuit (phase to phase) · 24 = SOF: motor overspeed · 25 = tnF: auto-tuning unsuccessful · 26 = IF1: unknown rating · 27 = IF2: MMI card · 28 = IF3: MMI communication · 29 = IF4: industrial EEPROM · 30 = EEF: EEPROM memory · 31 = SCF: impeding short-circuit · 32 = SCF: motor short-circuit (to ground) · 33 = OPF: motor phase loss, 3 phases · 34 = COF: communication interruption (CANopen) · 35 = bLF: brake control · 36 = OCF: power module (ATV312·D15·) · 55 = SCF: power module or motor short-circuit at power up p.24 | |
| 7203 | 7203 (0x1C23) | HR | DP3 past detected fault 3 | U16 | R | 03 | Same codes as LFt 0 = nOF: no fault code saved · 3 = CFF: incorrect configuration · 4 = CFI: invalid configuration · 5 = SLF: Modbus communication interruption · 6 = ILF: internal communication interruption · 7 = CnF: communication option card · 8 = EPF: external fault · 9 = OCF: overcurrent · 10 = CrF: capacitor pre-charge · 13 = LFF: 4-20 mA loss · 16 = OHF: drive overheating · 17 = OLF: motor overload · 18 = ObF: DC bus overvoltage · 19 = OSF: line supply overvoltage · 20 = OPF: motor phase loss · 21 = PHF: line phase loss · 22 = USF: line supply undervoltage · 23 = SCF: motor short-circuit (phase to phase) · 24 = SOF: motor overspeed · 25 = tnF: auto-tuning unsuccessful · 26 = IF1: unknown rating · 27 = IF2: MMI card · 28 = IF3: MMI communication · 29 = IF4: industrial EEPROM · 30 = EEF: EEPROM memory · 31 = SCF: impeding short-circuit · 32 = SCF: motor short-circuit (to ground) · 33 = OPF: motor phase loss, 3 phases · 34 = COF: communication interruption (CANopen) · 35 = bLF: brake control · 36 = OCF: power module (ATV312·D15·) · 55 = SCF: power module or motor short-circuit at power up p.24 | |
| 7204 | 7204 (0x1C24) | HR | DP4 past detected fault 4 | U16 | R | 03 | Same codes as LFt 0 = nOF: no fault code saved · 3 = CFF: incorrect configuration · 4 = CFI: invalid configuration · 5 = SLF: Modbus communication interruption · 6 = ILF: internal communication interruption · 7 = CnF: communication option card · 8 = EPF: external fault · 9 = OCF: overcurrent · 10 = CrF: capacitor pre-charge · 13 = LFF: 4-20 mA loss · 16 = OHF: drive overheating · 17 = OLF: motor overload · 18 = ObF: DC bus overvoltage · 19 = OSF: line supply overvoltage · 20 = OPF: motor phase loss · 21 = PHF: line phase loss · 22 = USF: line supply undervoltage · 23 = SCF: motor short-circuit (phase to phase) · 24 = SOF: motor overspeed · 25 = tnF: auto-tuning unsuccessful · 26 = IF1: unknown rating · 27 = IF2: MMI card · 28 = IF3: MMI communication · 29 = IF4: industrial EEPROM · 30 = EEF: EEPROM memory · 31 = SCF: impeding short-circuit · 32 = SCF: motor short-circuit (to ground) · 33 = OPF: motor phase loss, 3 phases · 34 = COF: communication interruption (CANopen) · 35 = bLF: brake control · 36 = OCF: power module (ATV312·D15·) · 55 = SCF: power module or motor short-circuit at power up p.24 | |
| 8501 | 8501 (0x2135) | HR | CMD control word | U16 | R/W | 03·06·10 | Examples: 0006h shutdown, 0007h switch on, 000Fh forward, 080Fh reverse, 100Fh stop, 0000h disable voltage, 0002h quick stop, 0080h fault reset (p.10, p.12). With LAC = L3 bits 11-15 can be assigned to other functions b0 Switch on (1) · b1 Disable voltage (active at 0) · b2 Quick stop (active at 0) · b3 Enable operation (1) · b7 Fault state reset (0 -> 1) · b11 Reverse direction command · b12 Stop according to Stt · b13 DC injection stop (LAC = L1/L2) · b14 Fast stop (LAC = L1/L2) p.19 | |
| 8502 | 8502 (0x2136) | HR | LFr frequency reference via the bus | S16 | ×0.1 Hz | R/W | 03·06·10 | 0.1 Hz when CMI bit 9 = 0 (factory). With bit 9 = 1, 32767 = 600 Hz p.19 |
| 8503 | 8503 (0x2137) | HR | PISP PI regulator reference via the bus | U16 | ×0.1 % | R/W | 03·06·10 | Range 0 ~ 100 % p.19 |
| 8504 | 8504 (0x2138) | HR | CMI extended control word | U16 | R/W | 03·06·10 | Bits 0 and 1 reset to 0 automatically. EEPROM life 1,000,000 writes b0 Recall factory settings (at standstill) · b1 Save configuration to EEPROM · b3 External fault · b4 Ramp switching command · b9 High resolution (32767 = 600 Hz) · b13 Drive locked on standstill · b14 No Modbus communication monitoring (NTO) · b15 No parameter consistency check + locked on standstill p.20 | |
| 9630 | 9630 (0x259E) | HR | tHr motor thermal state | U16 | % | R | 03 | 100% = nominal, 118% = OLF threshold p.21 |
| 12002 | 12002 (0x2EE2) | HR | USPL/USPH motor speed in customer units | U32 CDAB | R | 03 | 12002 low word, 12003 high word. rFr × SdS p.22 |
Notes
- Register addresses, units and read/write come from the communication variables manual BBV51701 (page numbers refer to it). R/WS (write only while stopped) is listed as rw and noted in the description.
- Acceleration ACC (9001) and deceleration dEC (9002) are not included: the variables manual (p.39) gives a 0.1 s unit (factory 30 = 3 s, depending on Inr), while the Modbus manual examples (p.12, p.14) call W9001 = 16#000D «ACC = 13 s» and 20/30 «20 s/30 s», so the scaling disagrees.
- The virtual analog input AIV1 is not included: the variables manual gives only the unit % without a scale (value per 1 %).
- To run by CMD set access level LAC = L3, select Modbus as the control channel and follow the state machine (0006h -> 0007h -> 000Fh). In L1/L2 the drive goes to «Operation enabled» at power up (p.11).
Read it with PortDock
- Install the free PortDock Modbus Master and connect with the device's settings.
- On the table toolbar, «Device profile…» → pick this device → «Load». Polling tables, names, types and the Slave ID are filled in (optionally the serial settings too).
- Names carry the unit and scale (e.g. «×0.01 Hz»). Values on screen are raw — multiply by the scale.
- To test your program without the device, PortDock Modbus Slave's «Emulate device…» serves the same map with example values.
Download JSON
- schneider-electric/atv312.json (GitHub raw) · copy on this site · history
- schema.json — format (JSON Schema). table, address (0-based), type and order match the PortDock CSV.
- License: CC BY 4.0 — please cite:
PortDock device register maps, v2026.10 · 09ac1d0b2792, https://portdock.dev/devices/
and this page. LICENSE · data bundle, version and changelog - Found a mistake? Please open a GitHub issue with the manual page.
Sources
- Altivar 312 Modbus Communication Manual — Schneider Electric, BBV52816 04/2009 · Communication settings p.9, p.11; Modbus functions and examples pp.12-14 · checked 2026-10-24
- Altivar 312 Communication Variables Manual — Schneider Electric, BBV51701 06/2009 · State machine pp.10-13, control variables pp.19-20, monitoring variables pp.21-25, configuration variables pp.27-56 · checked 2026-10-24