5 Step Tutorial - How to Add a Servo Axis to a S7-1500 in TIA Portal

motion plc tia portal Feb 08, 2023

Notice how the post title does not read '5 EASY Steps...'?

Adding a servo drive to your S7-1500 can be a bit of a challenge. I know I've been struggling with these steps in the past, so that's why I created this post. 

In today's post, I am going to share with you 5 basic steps you should follow to add a servo axis to your S7-1500 PLC - hassle-free. There are other types of servo configurations as well, but once you understand the basics, the rest will come easy.  By saving time and avoiding frustration, you'll have more time for the fun part of Motion -> programming and controlling your servo axis.


These are the 5 Main Steps to add a servo axis to a S7-1500 user program:

  1. Add a Servo Control Unit
  2. Put in a Motor Module
  3. Select a Motor
  4. Configure a Siemens Telegram
  5. Create a Technology Object


Let's get this thing in motion!



In our first step, we are adding a Servo Control Unit to the PLC hardware configuration.  This Control Unit (or CU) controls the power to your servo axes and communicates with the PLC through a Profinet (or Profibus on older systems) connection.


Here's how you add a Servo Control Unit to your S7-1500 PLC user program.

  1. Open the hardware configuration
  2. Go to the Network view
  3. Select a servo control unit (e.g. the CU320-2 from the Sinamics S120 series) from the Drives & starters tab in the hardware catalog
  4. Assign the unit to your PLC Profinet interface


Adding a Servo Control Unit to the hardware configuration


Now that we got the control unit in place, let's go and select a motor module.



So the PLC communicates with the Servo Control Unit, which in turn powers the different motors (servo axes) of your system. But it does not power those motors directly = the power cable of a motor is not directly connected to the Control Unit.  The motor power cable (and encoder cable) are connected to... you got it -> the Motor Module.

The Motor Module is the missing link between the Servo Control Unit and the motor, and it communicates with the Servo Control Unit using Siemens's proprietary DRIVE-CLiQ cables/technology.


Motor modules are available as Single Motor Modules (SMM - supporting only 1 motor), or as Double Motor Modules (DMM - supporting 2 motors).

So depending on your system, you will have one Servo Control Unit (CU) and multiple Motor Modules (SMM or DMM), depending on the number of motors in your system.
E.g. a system with 8 servo axes could be build as 1xCU + 4xDMM


To add a Motor Module, follow these steps below:

  1. Open the Device view tab of the Servo Control Unit
  2. Drag and drop a motor module type (e.g. Single Motor Modules) to the right of the Servo Control Unit
  3. Select a Motor Module from the Properties -> General tab


Adding a Single Motor Module to the Servo Control Unit


TIP - Don't forget the last step of selecting a motor module.  By selecting a motor module, the SMM (Single Motor Module) block will turn from light grey to dark grey - an indication that you're taking the right steps.  If you forget this step, you'll be scratching your head later on.


2 Steps done, 3 to go - we're almost half-way!  Let's keep the ball rolling and find out how we're adding an actual servo motor to our application.



With our Servo Control Unit and Motor Module in place, the next logical step is to add a Motor to the motor module. 

So far, all of our configured devices - PLC, Servo Control Unit, Motor Module - are typically situated in the main control cabinet.  This is not the case for the motor itself, which is mounted on the actual machine or line - with its power and encoder cables going back to a motor module in the main control cabinet.


Adding a motor to the motor module is executed as follows:

  1. From the Hardware Catalog, drag and drop a motor type from the Motors tab to the Motor Module
  2. Under General Properties, select the specific motor you want to use

So in my example here, I have selected synchronous motors (1FK7) as the motor type, and I have chosen a 1FK7011-xAK2x-xPHx motor for my application.


Selecting a Motor for the Motor Module


So which information is exchanged between a PLC and a servo motor?  Well funny that you asked, this is what our next step is all about...




Siemens telegrams (or PROFIdrive telegrams as they are also called) are used to define which information, which data is exchanged between the user program and the actual servo motor.  Typical data to be exchanged are setpoints, actual values, and control/status words. 

After selecting a motor for your motor module, it is important to define this telegram in the Servo Control Unit.  Without it, the user program does not know which data to communicate with the servo motor, and you will get configuration faults later on.  (You don't need to worry about selecting the right telegram from the get-go, you can always go back afterwards and change it).


This is how you setup a Siemens telegram for your motor:

  1. Click on the Servo Control Unit (CU)
  2. Select the Telegram configuration from the Properties -> PROFINET Interface tab
  3. Configure the Send and Receive telegrams for the Drive Axis


Configuring a Siemens Telegram for the Motor


One of my personal favourite telegrams here is the Siemens telegram 105 because it contains both torque limiting (which limits the power output to your servo drive and thus protects your machine from possible damage) and DSC.  DSC stands for Dynamic Servo Control and basically enables much faster and precise positioning (which makes it ideal for highly dynamic servo applications).


One final thing left to do, and that is...



Alright, so the hard(ware) part of adding the servo axis is done.  We've got a Servo Control Unit set up, a Motor Module, and connected to that an actual Motor with a configured Siemens telegram for data exchange. 

On the software side - in our user program - we are going to send Motion commands (like e.g. enable/disable axis, home axis, move axis) to the Servo Control Unit.  This unit will buffer/execute those commands and will control the necessary power to move each servo motor.  


But one final piece of the puzzle is missing.  How do we send Motion commands to the Servo Control Unit?  The CU is part of the hardware configuration, so we cannot directly access this unit from the user program.  Well, the Siemens answer for this are technology objects.


The following screenshot visualizes how this whole setup works: 


Technology objects represent real objects (e.g. a servo motor) in the controller, in your user program. You control the technology object by using Motion Control instructions - like e.g. MC_Power to enable/disable an axis, or MC_MoveAbsolute to move an axis to an absolute position.  The technology object buffers and executes these Motion Control instructions and controls the servo axis through the configured Siemens telegram interface (like e.g. telegram 105).


So now you know how it works, here are the steps to adding a technology object to your project:

  1. Under Technology object, select 'Add new object'
  2. In the pop-up window, select a Motion Control like e.g. a positioning axis


Adding a new Technology Object


Now our technology object has been added, but if you open the configuration, you'll quickly see that there are some red indicators to the right of the Hardware interface.  What we're still missing here is selecting a drive for our technology object.  This is how it's done:

  1. Go to the axis Configuration (under Technology objects)
  2. Press on the Hardware interface tab
  3. Select the correct drive


Selecting the correct Drive for the Technology Object


In our example, we selected the 'Drive axis_1' (which is the motor module which we added in Step 2) by navigating first to the 'Drive unit_1' (which is the servo control unit which we added in Step 1).  Easy-peasy. 


Now all our hardware interface indicators are green.  Great work! 



And that is how you add a servo drive to your PLC application in TIA Portal.  Motion in TIA Portal is a very exciting subject for me and something I am very passionate about because I do a lot of projects in Siemens and Rockwell with motion applications.

It gets even more exciting when you start to build proper structures around controlling servo axes in a modular and uniform way.  But that's for another time.


I hope you enjoyed reading!

PS. If you're just getting started with TIA Portal, and want to get the full PLC and HMI experience, why not go and check out my students' favorite TIA Portal - All Basics Pack RIGHT HERE.



Grab my '5 Simple Steps to Drastically Improve your PLC Program Structure in TIA Portal' and start building better PLC applications TODAY.

Where should I send you the guide?

When you signup, we'll be sending you further emails with additional free content. You can unsubscribe at any time by clicking the link in the footer of our emails. For information about our privacy practices, please visit our website.