TIA Portal How To configure Technology Object Positioning Axis

0

TIA Portal How To configure Technology Object Positioning Axis

Technology Object: Positioning Axis

When controlling drives from the PLC over PROFInet there are undeniable benefits to using Technology Objects (later referred to as ‘TO’). Instead of time-consuming building of complicated messages to be sent over telegrams you only need to drag’n’drop your motion command, point it to relevant TO and your ready to go!

But for this method to work properly you first need to configure the TO, and that will be the subject of this tutorial.

About this tutorial

  • As you have probably noticed, there are two versions of video tutorial. First one shows how to use TO: PositioningAxis V2.0, the second one  – V3.0. There are a number of differences between the two and to my surprise (this confirmed by Siemens support) V2.0 has some features that were scrapped in V3.0. I don’t know if these features will come back in alter updates, but I will highlight them in the course of this tutorial.
  • V3.0 is only available in TIa Portal V14.
  • Axis we will be creating is a linear movement axis.
  • Each step of the tutorial will also give you an indication of time (for example: 2:46) in which you can see the corresponding action on the first Video above.
  • Hardware used:
    • CPU 1511-1 PN – CPU 1511-1 PN – V2.1
    • G120 VFD: CU250S-2 PN Vector – 6SL3246-0BA22-1FA0 – V4.7.6, (power module version is irrelevant)
    • Encoder: 13-bit absolute with PROFInet – 6FX2001-5QN13 (TIA Portal universal object for PROFInet encoders: 6FX2001-5xN13)

In this tutorial you will learn:

  • How to create Technology Object Positioning Axis in TIA Portal
  • How To configure Drive for Technology Object Positioning Axis in TIA Portal
  • How To configure Encoder for Technology Object Positioning Axis in TIA Portal
  • How To configure Telegram for Technology Object Positioning Axis in TIA Portal
  • How To configure Data Exchange for Technology Object Positioning Axis in TIA Portal
  • How To configure Mechanics for Technology Object Positioning Axis in TIA Portal
  • How To configure Limits for Technology Object Positioning Axis in TIA Portal
  • Homing basics in TIA Portal

1. Creating Technology Object – Positioning Axis in TIA Portal (0:00)

Go to: Project tree » PLC_1 (or any other name you might have given your PLC) » Technology objects » Add new object

‘Add new object’ dialog box will appear. Give your axis a name, click motion control icon and choose V2.0 from the drop-down menu. Highlight (or double click) on ‘TO_PositioningAxis’:

Creating Technology Object Positioning Axis
Creating Technology Object Positioning Axis

Click OK to confirm.

2. Configuring Technology Object – Positioning Axis: Drive in TIA Portal (0:22)

In this section we point our Technology Object to a drive in our HW Config.

By default G120 drive is configured to use Telegram 1 (Telegram is used to exchange data between PLC and the Drive) V2.0 of TO: Positioning Axis will only communicate using Telegram 3 (as opposed to V3.0, which is capable of communicating via Telegram 1).

[EDIT]: You can use Telegram 1, but only if you configure Encoder’s telegram (point 3 below) first!

Lets configure the drive to use Telegram 3. Go to: Drive Properties » PROFINET interface » Telegram configuration » in the box on the right click on ‘Standard telegram 1’ to open drop-down menu » Select Standard telegram 3

Siemens Drive G120 Telegram Configuration
Siemens Drive G120 Telegram Configuration

No lets go back to: TO: Positioning Axis » Hardware Interface » Drive » open ‘Drive’ drop-down menu » expand folder ‘PROFINET IO-System » Highlight ‘Derive_1’ (or any other name you have given to your drive) » double click on ‘Drive_1’ in the right-hand side box:

Positioning Axis Drive
Positioning Axis Drive

3. Configuring Technology Object – Positioning Axis: Encoder in TIA Portal (1:05)

We’ll start with assigning a PROFInet telegram to the Encoder. To do double click the encoder in the ‘Network view’, this will open the device view. Highlight the encoder and click on the left-pointing arrow to pull out the ‘Device data’ window. Expand ‘Hardware catalog’ window » expand ‘Submodules’ folder » drag the ‘Standard telegram 81’ over to the ‘Device overview’ and drop it in the first available row in the ‘EO Encoder Singleturn’ section. (1:17)

Profinet Encoder telegram configuration
Profinet Encoder telegram configuration

Go to: TO: Positioning Axis » Hardware Interface » Encoder:

Select encoder connection – tick: ‘PROFIdrive encoder on PROFINET/PROFIBUS’

Go to: Encoder selection » open ‘PROFIdrive encoder’ drop-down menu » expand ‘PROFINET IO-System folder » highlight ‘MC_ENCODER-Singleturn-13bit’ » double-click on the ‘EO Encoder Singleturn’ Standard telegram 81

Positioning Axis Encoder configuration
Positioning Axis Encoder configuration

4. Configuring Technology Object – Positioning Axis: Data exchange in TIA Portal (1:44)

Positioning Axis Data exchange
Positioning Axis Data exchange

Set ‘Reference Speed’ and ‘Maximum speed’ to 1500.0 as these values will correspond to the drives configuration. Maximum speed is highlighted in amber as this value is not consistent with values in ‘Mechanics’ and ‘Dynamic limits’ – we’ll configure them later.

Change the ‘Encoder type’ and ‘Increments per revolution’ (resolution) as per your encoder data sheet. In this case it will be Rotary absolute and 8192.

Fine resolution of the encoder (kind of “gearing ratio” for the encoder) should be set to 1 and 1.

5. Configuring Technology Object – Positioning Axis: Mechanics in TIA Portal (2:46)

TIA Portal Positioning Axis Mechanics
TIA Portal Positioning Axis Mechanics

Possible Encoder mounting types are: ‘On motor shaft’, ‘On load side’, ‘External measuring system’. Each of them will trigger different set of fields for the ‘Load gear’ and ‘Position parameters’ settings. We’re going to choose the first option.

Zaznacz: ‘Consider load gear and leadscrew pitch for encoder evaluation’.

Now we need to enter gear ratio. Gear ratio tells us how many rotations of motor shaft to get a single rotation of gearbox output shaft. For example my gearbox ration is 14.77 (see below), but because we can’t use real numbers in this fields I entered gearing ratio of 1477:100 (see above).

Tia Portal Positioning Axis Mechanics gear ratio
Tia Portal Positioning Axis Mechanics gear ratio

Leadscrew pitch tells us how many millimeters of leaner movement we’ll get per one revolution of linear transmission’s input shaft. I’m using Hepco’s DLS linear transmission and positioning:

Tia Portal Positioning Axis Mechanics linear transmission
Tia Portal Positioning Axis Mechanics linear transmission

From above I can see that one input shaft revolution will equal to 135 mm of movement.

OTHER METHOD:

If you don’t have access to gear ratio and linear transmission ratio, but you know how many mm of movement you get per one motor revolution you have to untick the box and enter your value in the bottom field: ‘Load movement per motor revolution’.

NOTE!: This second method is NOT available in V3.0 of the PositioningAxis Technology Object.

6. Configuring Technology Object – Positioning Axis: Position limits in TIA Portal (3:02)

Positioning Axis limits
Positioning Axis limits

With linear axis it’s possible to have software limit switches, hardware limit switches, or both – just tick the appropriate box(es).

Hardware limit switch: choose a tag assigned to an input from a drop-down menu. Then choose weather you would like it to produce a HIGH or a LOW signal. Limit switches always have NC contacts so a LOW signal would indicate that particular limit switch have been reached, but here you can choose if you want this to be indicated by LOW or HIGH signal. If a hardware limit switch is reached, technology alarm 531 is output, and the technology object is disabled.

Software limit switch: Here you can set a software limit switch in [mm]. For this to work you should have an absolute encoder and you MUST home the axis (use ‘HOME’ command). When software switches are activated, an active motion comes to a stop at the position of the software limit switch. The technological object signals an error. After acknowledgment of the error, the axis can again be moved in the direction of its operating range.

7. Configuring Technology Object – Positioning Axis: Dynamic limits in TIA Portal (3:06)

TIA Portal how to: Positioning Axis Dynamic limits
TIA Portal how to: Positioning Axis Dynamic limits

Here you set the velocity and acceleration for limits of your axis.

Maximum velocity (in mm/s) and acceleration/deceleration (in mm2/s) can’t be grater than drive’s maximum speed (Hardware interface » data exchange) and mechanics configuration (gear ratio and Leadscrew pitch) allows for.

Rump-up time – is the time it takes the axis to reach it’s maximum velocity with it’s maximum acceleration.

Rump-down time –  is the time it takes the axis to stop the axis from it’s maximum velocity with it’s maximum deceleration.

Jerk – is the rate of change of acceleration (mm3/s). You can think of it as the transition state between the following:

  • stop » acceleration
  • acceleration » max velocity
  • max velocity » deceleration
  • deceleration » stop

More » Wiki: Jerk

If you change any parameter (for example I changed the rump-up/rump-down and smoothing times) all you need to do is press ‘Calculate values’ button to update rest of the parameters accordingly:

Positioning Axis Dynamic limits calculate
Positioning Axis Dynamic limits calculate

BONUS: What is the difference between velocity and speed? Velocity is a vector quantity that describes “The rate of change of object’s position”, while the speed is the magnitude of object’s velocity. for us though, the most important difference is that velocity (being a vector) is direction aware. Example:

We move our axis from position 10 [mm] to 123 [mm], velocity equals: 40 [mm/s] and speed also equals 40 [mm/s]. Now we move our axis from position 123 [mm] back to 10 [mm], velocity equals: – 40 [mm/s] and speed equals 40 [mm/s].

8. Configuring Technology Object – Positioning Axis: Dynamic default values in TIA Portal (3:26)

Positioning Axis Dynamic default values
Positioning Axis Dynamic default values

This is a very useful feature. As motion application seldom require their acceleration/deceleration and jerk values to be dynamically changed (via HMI or PLC software) once they’re commissioned it is possible to set them once here and them reuse them in motion commands by inserting value of ‘-1’:

Positioning Axis MC_MOVEABSOLUTE motion command
Positioning Axis MC_MOVEABSOLUTE motion command

The above command, once executed, will have the following parameters:

  • velocity: 40 [mm’s]
  • acceleration: 80 [mm2/s]
  • deceleration:  80 [mm2/s]
  • jerk: 1600 [mm3/s]

9. Configuring Technology Object – Positioning Axis: Homing in TIA Portal (3:30)

Homing is the process of setting the zero point for our axis. Please note that in this section we only configure parameters for active and passive homing. Actual selection of which homing will be performed is done via input parameter ‘mode’ in ‘MC_Home’ motion command:

Positioning Axis Home command
Positioning Axis Home command

Active Homing: Home command executes MOTION of the axis!

  1. Zero mark via PROFIdrive telegram and reference cam

    When triggered the axis will start to move in the direction set in the ‘Homing direction’ parameter (see picture below) at a ‘Approach velocity’. Once axis reaches the reference cam (digital input set in ‘Digital input homing mark/cam’ goes high) it ramps down to ‘Homing velocity’ and looks for the encoder zero mark. After hitting the encoder zero mark the axis will ramp down, stop reverse to the encoder zero mark. If, instead of finding reference cam, axis hits the hardware limit switch it will rump down and stop, unless the  ‘Enable direction reversal at the hardware limit switch’ is checked. Then direction of the axis will be reversed and the axis will search for reference cam in opposite direction. Ramps in this procedure use the values set in Dynamic limits (section 7 above).

    Positioning Axis Homing telegram and cam
    Positioning Axis Homing telegram and cam
  2. Zero mark via PROFIdrive telegram

    When triggered the axis will start to move in the direction set in the ‘Homing direction’ parameter (see picture below) at a ‘Homing velocity’. Once axis reaches the encoder zero mark it will ramp down, stop and reverse to the encoder zero mark. If, instead of finding the encoder zero mark, axis hits the hardware limit switch it will rump down and stop, unless the  ‘Enable direction reversal at the hardware limit switch’ is checked. Then direction of the axis will be reversed and the axis will search for the encoder zero mark in opposite direction. Ramps in this procedure use the values set in Dynamic limits (section 7 above).

    Positioning Axis Homing telegram
    Positioning Axis Homing telegram
  3. Zero mark via digital input

    TIA Portal Help advises using low velocity with this method as it is less accurate than methods above (as it doesn’t use encoder zero mark). In this method digital input of the homing cam (rather than homing cam + encoder zero mark as in first method) will be used to set the to set the home position. It can be either positive or negative edge (as per configuration – see picture below).

    Positioning Axis Homing digital input
    Positioning Axis Homing digital input

Passive Homing utilizes the same methods as active homing, but it will not trigger the motion of the axis. This means that you have to use motion commands (f. e. MC_MOVEABSOLUTE) and then trigger the MC_HOME command at the appropriate moment. This can be used for example for homing the axis each time it passes the reference cam during it’s normal operation to minimize the mechanical inaccuracies of the application.

Positioning Axis Passive homing
Positioning Axis Passive homing

10. Configuring Technology Object – Positioning Axis: Position Monitoring in TIA Portal (3:45)

This function monitors the difference between the set position (as in where should the axis be) and it’s actual position (based on encoder feedback).

  • Tolerance time: ‘positioning window’  – If axis position is within this tolerance it is considered to have reached it’s setpoint position. ‘Tolerance time’ – delay time allowed to reach the setpoint ± positioning window value. ‘Minimum dwell time’ – axis must be at least this long in the setpoint ± positioning window range.
  • Following error: is the difference in actual position and the setpoint position (in [mm]), which if passed produces an error. It’s adjusted dynamically depending on the velocity (max velocity will trigger an error if the difference is greater that the value set in ‘Maximum following error’ field). ‘Warning level’ – warning is produced above this value, which is a percentage of the following error.
  • Standstill signal – here we configure the parameters in which the axis is considered to be in a standstill: ‘velocity’ and ‘minimum dwell time’. If the axis is within this velocity limit for the time set in ‘minimum dwell time’ than it produces the standstill signal.

 

 

133 Shares