Schneider Electric ATV312 Modbus register map
Variable speed drive for asynchronous motors. The communication variables listed here cover the control and status words, frequency and speed references, motor measurements, fault codes, ramp and motor settings, and the Modbus line parameters.
- Protocol
- Modbus RTU
- Defaults
- Modbus RTU through the RJ45 port. Factory settings: drive address 1 (range 1 to 247), 19200 bps, 8 data bits with even parity and 1 stop bit (8E1), time-out 10 s (Modbus manual BBV52816, p. 9). The remote display terminal only works with 19200 bps and 8E1.
- Addresses in the manual
- 0-based protocol addresses, as sent on the wire
- 32 and 64-bit values
- Low word first (CD AB)
- Registers listed
- 49
- Checked against
- BBV51701 06/2009
Address base. The variables manual (p. 7) lists each Modbus address in decimal. The companion Modbus manual (BBV52816, p. 12) shows a read of words W3102 to W3105 sent with start address 16#0C1E, which is 3102, so the printed decimal address is the address sent in the Modbus frame. Address 8601 in the manual is address 8601 on the wire.
Word order. Almost every variable is a single 16-bit word. The only 32-bit value is the motor speed in customer units, split into a low word at 12002 and a high word at 12003, so the low word comes first.
Modbus Poll and the Modbus protocol itself count from 0. The "Wire address" column is the number to type into Modbus Poll.
Downloads
The register table has every column on this page. The blocks file imports into Modbus Poll. The template JSON holds the same blocks plus unit, scale and access for scripts.
Registers
| Manual | Wire | Register | Type | Regs | Unit | Scale | Access | Area |
|---|---|---|---|---|---|---|---|---|
| 8601 | 8601 | IEC 61800-7 control wordCMDD · Identical to CMD. Bit 0 switch on, bit 1 disable voltage (active at 0), bit 2 quick stop (active at 0), bit 3 enable operation, bit 7 fault reset on a rising edge. |
bitfield16 | 1 | 1 | RW | Holding (FC03) | |
| 8602 | 8602 | Speed reference via the busLFRD · Signed. 1 = 1 rpm when bit 9 of CMI is 0; when bit 9 of CMI is 1 one count is about 0.018 Hz (32767 points = 600 Hz). |
int16 | 1 | rpm | 1 | RW | Holding (FC03) |
| 8603 | 8603 | IEC 61800-7 status wordETAD · Identical to ETA. |
bitfield16 | 1 | 1 | R | Holding (FC03) | |
| 8605 | 8605 | Speed reference at ramp inputFRHD · Signed value. |
int16 | 1 | rpm | 1 | R | Holding (FC03) |
| 8604 | 8604 | Output speedRFRD · Signed. 1 = 1 rpm when bit 9 of CMI is 0; about 0.018 Hz per count when bit 9 of CMI is 1. |
int16 | 1 | rpm | 1 | R | Holding (FC03) |
| 8606 | 8606 | Fault codeERRD · Error code; for example 0x0000 = no fault saved, 0x2310 = overcurrent. The manual lists the full code table. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 8501 | 8501 | Control wordCMD · Bit 0 switch on, bit 1 disable voltage (active at 0), bit 2 quick stop (active at 0), bit 3 enable operation, bit 7 fault reset on a rising edge, bit 11 direction (0 forward, 1 reverse). The manual lists the examples 0x000F forward run, 0x080F reverse run, 0x400F fast stop. |
bitfield16 | 1 | 1 | RW | Holding (FC03) | |
| 8502 | 8502 | Frequency reference via the busLFr · Signed. 1 = 0.1 Hz when bit 9 of CMI is 0; about 0.018 Hz per count when bit 9 of CMI is 1. |
int16 | 1 | Hz | 0.1 | RW | Holding (FC03) |
| 8503 | 8503 | PI regulator reference via the busPISP · Range 0 to 1000. |
uint16 | 1 | % | 0.1 | RW | Holding (FC03) |
| 8504 | 8504 | Extended control wordCMI · Bit 1 saves configuration to EEPROM, bit 9 selects high resolution references, bit 14 disables Modbus communication monitoring. See the manual before writing. |
bitfield16 | 1 | 1 | RW | Holding (FC03) | |
| 5240 | 5240 | Logic I/O valueIOLR · Bits 8, 9 and 10 give relay R1, relay R2 and logic output LO, writable only when the output is not assigned. |
bitfield16 | 1 | 1 | RW | Holding (FC03) | |
| 5261 | 5261 | Analog output valueAO1R · Range 0 to 10000; 10000 corresponds to 10 V or 20 mA depending on the analog output type. Writable only when the analog output is not assigned. |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 3201 | 3201 | Status wordETA · Bit 0 ready to switch on, bit 1 switched on, bit 2 operation enabled, bit 3 fault, bit 5 quick stop, bit 6 switch on disabled, bit 7 alarm, bit 10 reference reached, bit 15 reverse rotation. |
bitfield16 | 1 | 1 | R | Holding (FC03) | |
| 3202 | 3202 | Output frequencyrFr · Signed. 1 = 0.1 Hz when bit 9 of CMI is 0; about 0.018 Hz per count when bit 9 of CMI is 1. |
int16 | 1 | Hz | 0.1 | R | Holding (FC03) |
| 3203 | 3203 | Frequency reference before rampFrH · Absolute value. |
uint16 | 1 | Hz | 0.1 | R | Holding (FC03) |
| 3204 | 3204 | Motor currentLCr |
uint16 | 1 | A | 0.1 | R | Holding (FC03) |
| 3205 | 3205 | Motor torqueOtr · 100 % is the nominal motor torque. The manual does not state whether the value is signed. |
uint16 | 1 | % | 1 | R | Holding (FC03) |
| 3211 | 3211 | Motor powerOPr · 100 % is the nominal motor power. The manual does not state whether the value is signed. |
uint16 | 1 | % | 1 | R | Holding (FC03) |
| 3207 | 3207 | Line voltageULn · Measured through the DC bus, motor running or stopped. |
uint16 | 1 | V | 0.1 | R | Holding (FC03) |
| 3209 | 3209 | Drive thermal statetHd · 100 % is the nominal thermal state; 118 % is the drive overheating threshold. |
uint16 | 1 | % | 1 | R | Holding (FC03) |
| 3210 | 3210 | Maximum drive thermal state reachedTDM · Reset to zero when the drive is powered down. |
uint16 | 1 | % | 1 | R | Holding (FC03) |
| 9630 | 9630 | Motor thermal statetHr · 100 % is the nominal thermal state; 118 % is the motor overload threshold. |
uint16 | 1 | % | 1 | R | Holding (FC03) |
| 3231 | 3231 | Operating timertH · Total time the motor has been powered up. |
uint16 | 1 | h | 1 | R | Holding (FC03) |
| 3206 | 3206 | Extended status wordETI · Bit 0 = 1 means writing parameters is not authorized while the drive saves to EEPROM. |
bitfield16 | 1 | 1 | R | Holding (FC03) | |
| 12002 | 12002 | Motor speed in customer units, low wordUSPL · Low order word of a 32-bit value equal to rFr x SdS. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 12003 | 12003 | Motor speed in customer units, high wordUSPH · High order word of the same 32-bit value. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 7121 | 7121 | Last detected faultLFt · 0 = no fault code saved. The manual lists the full fault code table. |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 7201 | 7201 | Past detected fault 1DP1 |
uint16 | 1 | 1 | R | Holding (FC03) | |
| 3105 | 3105 | Low speedLSP · Motor frequency at minimum reference. |
uint16 | 1 | Hz | 0.1 | RW | Holding (FC03) |
| 3104 | 3104 | High speedHSP · Motor frequency at maximum reference. |
uint16 | 1 | Hz | 0.1 | RW | Holding (FC03) |
| 9001 | 9001 | Acceleration ramp timeACC · Defined for accelerating between 0 and the nominal motor frequency FrS. The 0.1 s scale applies only when the ramp increment Inr (register 9020) is at its factory value; Inr = 0 makes one count 0.01 s and Inr = 2 makes it 1 s. |
uint16 | 1 | s | 0.1 | RW | Holding (FC03) |
| 9002 | 9002 | Deceleration ramp timedEC · Defined for decelerating between the nominal motor frequency FrS and 0. The 0.1 s scale applies only when the ramp increment Inr (register 9020) is at its factory value; Inr = 0 makes one count 0.01 s and Inr = 2 makes it 1 s. |
uint16 | 1 | s | 0.1 | RW | Holding (FC03) |
| 9020 | 9020 | Ramp incrementInr · 0 = 0.01 s per count, 1 = 0.1 s per count (factory setting), 2 = 1 s per count; applies to ACC, dEC, AC2 and DE2. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 3102 | 3102 | Switching frequencySFr · Adjustment range 20 to 160 (2.0 to 16.0 kHz). |
uint16 | 1 | kHz | 0.1 | RW | Holding (FC03) |
| 3103 | 3103 | Maximum output frequencytFr · Adjustment range 100 to 5000. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | Hz | 0.1 | RW | Holding (FC03) |
| 9601 | 9601 | Nominal motor voltageUnS · From the motor rating plate. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | V | 1 | RW | Holding (FC03) |
| 9602 | 9602 | Nominal motor frequencyFrS · From the motor rating plate. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | Hz | 0.1 | RW | Holding (FC03) |
| 9603 | 9603 | Nominal motor currentnCr · From the motor rating plate. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | A | 0.1 | RW | Holding (FC03) |
| 9604 | 9604 | Nominal motor speednSP · From the motor rating plate. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | rpm | 1 | RW | Holding (FC03) |
| 9606 | 9606 | Motor power factor (cos phi)COS · From the motor rating plate; range 50 to 100. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | 0.01 | RW | Holding (FC03) | |
| 9622 | 9622 | Motor thermal protection currentItH · Set to the nominal motor current on the rating plate. |
uint16 | 1 | A | 0.1 | RW | Holding (FC03) |
| 9201 | 9201 | Current limitCLI · Used to limit the torque and the motor temperature rise. |
uint16 | 1 | A | 0.1 | RW | Holding (FC03) |
| 11201 | 11201 | Normal stop modeStt · 0 = ramp stop, 1 = fast stop, 2 = freewheel stop, 3 = DC injection stop. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 8413 | 8413 | Configuration reference 1Fr1 · 1 = AI1, 2 = AI2, 3 = AI3, 16 = potentiometer, with more assignments at higher access levels. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 8423 | 8423 | Control channel 1 configurationCd1 · 1 = terminal block, 2 = keypad, 3 = remote display terminal, 10 = Modbus, 20 = CANopen. Active when CHCF = SEP and LAC = L3. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 6001 | 6001 | Modbus drive addressAdd · Range 1 to 247, factory setting 1. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 6003 | 6003 | Modbus transmission speed codetbr · 24 = 4800 bps, 28 = 9600 bps, 32 = 19200 bps (factory setting; the remote display terminal only works with this value). Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 6004 | 6004 | Modbus communication format codetFO · 2 = 8 data bits odd parity 1 stop, 3 = 8E1 (factory setting), 4 = 8N1, 5 = 8N2. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | 1 | RW | Holding (FC03) | |
| 6005 | 6005 | Modbus time-outttO · Unit 0.1 s, range 1 to 100, factory setting 100 as printed in this manual; the companion Modbus manual states an adjustable range of 0.1 to 30 s with a 10 s default. Write access only while the drive is stopped (R/WS in the manual). |
uint16 | 1 | s | 0.1 | RW | Holding (FC03) |
Scale is the number to multiply the raw value by to get the unit.
Open in Modbus Poll
- Download the Modbus Poll blocks file.
- Open Modbus Poll, connect to the device and set its unit ID. In Modbus Poll set Word order to CD AB.
- In the blocks panel on the right, click Import CSV and pick the file. CSV import is a Pro feature. Without Pro, Modbus Poll polls the first 20 values of your blocks.
- The wire addresses are already in the file, so there is no 0-based or 1-based conversion to do.
Once the values look right, export the tag list to Ignition, Kepware, Node-RED, Home Assistant or Voltrus SCADA.
Source and accuracy
Manufacturer document: Altivar 312 communication variables manual (download.schneider-electric.com)
BBV51701 06/2009, p. 7, 16-55. Read on 2026-10-24.
Also used: Altivar 312 Modbus communication manual (BBV52816 04/2009) (download.schneider-electric.com)
Addresses, types, units and scale are taken from the document above. Names and descriptions are written by Voltrus. Firmware versions can differ, so confirm a value on your own device before you rely on it.
Found a mistake? Report it by email with the register address and the manual page.
More from Schneider Electric
All Schneider Electric register maps