Drives Inverters Guides PLC Guides

ATV312 Schneider “Modbus RTU” Siemens S7-1200 Tutorial

Written by

In previous articles, has guided you to use many PLC/HMIs to control Schneider Electric’s ATV312 inverter. Today I would like to continue using a very famous PLC to control it: Siemens S7-1200.

In order for the S7-1200 to communicate with the ATV312 inverter, I used the module S7-1200 CB1241

S7-1200 CB1241 & ATV312 Schneider Wiring Diagram

You connect the wires as shown below, pay attention if the communication is longer than 100m, you need to use a 120Ohm terminal resistor.

Schneider ATV312 Setup

In addition to the inverter parameters set according to the motor you use, you need to set the following communication parameters for the inverter to communicate with Modbus-RTU.

COM – Menu:

  • Add (Address) – 1
  • tbr (Baud rate) – 9.6
  • tF0 (Com. Type) – 8E1
  • tt0 (Timer Error Detection) – 3.0

CtL – Menu:

  • LAC – L3
  • Fr1 – Mdb
  • Fr2 – Mdb
  • CHCF – SEP
  • Cd1 – Mdb
  • Cd2 – Mdb

Register Address List

For Communication Modbus PLC Siemens S7-1200
PLC Address = “40001 + VFD Address”
Register for Control

+ Control Motor Address = 40001 + 8501 = 48502 (dec)

  • Set 48502 (dec) = 6 >>> Enable Operation
    = 128 >>> Reset Fault
    = 15 >>> Forward Run
    = 2063 >>> Reverse Run
    = 4111 >>> Stop

+ Setting Frequency Address = 40001 + 8502 = 48503 (dec)

Register for Monitoring

+ Output Frequency Address = 40001 + 3202 = 43203 (dec)

+ Output Current Address = 40001 + 3204 = 43205 (dec)

Siemens S7-1200 Setup

S7 1200 CB1241 Module Configuration

Creating a Data Block for Modbus

S7-1200 Modbus RTU Programming

+ Network 1: Read / Write Distribution

+ Network 2: Modbus Communication Load

+ Network 3: Set Frequency Command

+ Network 4: Control Motor Command

+ Network 5: Frequency Output Read

+ Network 6: Current Output Read

Project Tutorial Video


Documentation and Software:

Password :

Please share the article and subscribe to the new article of the Website if you find the article useful.

Thanks and Best Regards!

About the author


  • hello, I want to ask about cmd modbus address atv312 schneider, for values ​​6, 128, 15, 4111 can be taken or is the result of the conversion?

    thank you

  • Hello

    Thank you for this knowledge. Really appreciated with best regards for your efforts. I still have a simple doubt: if we set up the ATV320 to be controlled via Modbus RTU (just like you did here), can we READ the Digital Input/Digital Output, and Analog Input/Analog Output states for the VFD’s DI, AI, DO, and AO?

    As an example, can we use the same control mechanism for the VFD as in here, plus to add a sensor for example on its AI terminal and read it on the PLC?

    With thanks in advance

  • Hi, thank you for your reply,

    Why haven’t you used a Modbus_Slave in your code, where you only have changed the MODE for Modbus_Master to read (when needed from the VFD)?

    Shouldn’t we add a Master_Slave (PtP CM slave Modbus module) in the hardware configuration of the project, or you have assumed by default that the VFD is already configured as a modbus_slave?

    Can you please help making this same experiment but using S7-1513F instead of the S7-1200?

    Much thanks in advance

  • Hi. Thanks for great turtorial. Could you please make the video about connection between PLC LS XGB (XBC-DXXX) and Inverter Schneider ATV310 series? I can’t connect them. Your help is much appreciate!
    Or can you instruct me how to read/write frequency from PLC LS XGB to Inverter ATV310 through my email? (
    I used setting Frequency address as 48503 but it didn’t work.

Leave a Comment Protection Status