You are on page 1of 87

SIMOTION

Example for Beginners

Siemens AG 2011. All Rights Reserved.

Example for Beginners


Disclaimer of liability

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

The application examples and the associated documentation contained on


this DVD are made available without cost. The customer receives for the
software the non-exclusive, non transferable, free right to use the
software; this includes the right to change the software, to copy it changed
or unchanged, and to combine it with the customer's own software.
Siemens AG has not subjected the software to the normal system test
otherwise usual for software.
Any liability irrespective of the legal reason in particular because of
software errors or the associated documentation or damages resulting
from consulting is excluded, unless, for example, because of
premeditation, gross negligence, risk to life, injury or health, acceptance of
suitability guarantee, malicious concealment of a fault or a violation of
significant contractual obligations, would force liability. A reversal of the
burden of proof to the customer's disadvantage is thus not included.
German legal right applies. Place of jurisdiction is Erlangen.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Some preliminary comments

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Before processing the Example for Beginners, it is advisable to study


Getting Started with SIMOTION SCOUT" (Menu Help
Getting
Started).
In the example, some elements have been extended more than
necessary in order to demonstrate as many different aspects of
SIMOTION as possible (e.g. a virtual axis as master).
Menu- and context menu commands are shown in italic type as well as
the names of dialogs and tabs etc..
Menu
Sub menu are separated by an arrow.
The screenshots were created with SIMOTION Version 4.2 (05/2011).
Under some circumstances there may be minor changes for future
versions.
The firmware version on the SIMOTION D435 should agree with the
SIMOTION SCOUT version.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Machine diagrams

Introductory
Information
Task

Extractor
- Electrical travel
- Eject pneumatically

SIMOTION - Basic
Information

Product feed

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Package (empty)
Package (full)

Palletizer
Carton
erector

Conveyor belt

Sensor

Procedure notes are contained in the Program Design section

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Task

Task:
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Packages with a protruding machine part are used on a conveyor belt (drive 1).
An empty package is detected by a sensor and should be removed with an
extractor (drive 2). The removal itself is performed pneumatically. When an
emergency off switch is pressed, all drives should be stopped immediately. The
current position of the conveyor belt should be displayed on the operator panel.
The machine diagrams show a machine part, the implementation in
SIMOTION is shown in the following slides.
The solution concept shows only one of many possible solutions. This
particular solution was selected to use as many different SIMOTION
functions as possible:
Cam with CamTool
Gearbox synchronism
Camming
Output cams
Virtual master axis
etc.
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Topology of the automation solution

Introductory
Information

HMI

SIMOTION SCOUT
D435

Task
SIMOTION - Basic
Information
Program Conception

Profibus DP
Carton erector *
Feed *

Create Project
SINAMICS Configuration
SIMOTION Configuration

Transport

ET 200 *
MICROMASTER 420 *

SIMOTION Programming

Extractor
1 FK7

* Not considered in the example, but part of the complete plant

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Execution system

Introductory
Information

Stop

Run

Startup Task

Task
SIMOTION - Basic
Information
Program Conception

Run
Background Task

Background Task

Motion Tasks

Motion Task 1

Synchronous Tasks

IPO - sync Task 1

Call Motion
Tasks (sequential
tasks)

Motion Task 2

Motion Task 20

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

IPO - sync Task 2

Time triggered Tasks Task 1

Task 2

Task 5

Interrupt Tasks

User Int Task 2

System Int Tasks


System Int Tasks
System Int Tasks

Run

Stop

User Int Task 1

Monitor the
emergency
off criteria

Response to
process
signals

3
Shutdown Task

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Execution system / cyclical and sequential programming

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Central topic for SIMOTION: Which job do I solve in which task or which
tasks are particularly suitable for specific jobs.
In the example, the background task is used to start sequential tasks
(MotionTasks).
The sequential tasks are used to implement processes and to start
movements.
The UserInterruptTask initiates an incorrect part handling depending on an
external signal.
The IPOsynchronousTask task monitors a protective door.
Another central question in SIMOTION:
Which program sections are programmed cyclically and which are programmed
sequentially. The same result can often be achieved in both ways. For motion
commands, SIMOTION supports the programming in the cyclical context. The
monitoring of the status of a motion command is performed by the system when
sequential programming is used (nextCommand:=WHEN_MOTION_DONE).
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Comparison of cyclical and sequential programming

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

To simplify the understanding, the comparison on a sample task follows: Pos should move
to Target; the Finished variable is set to TRUE when the position is reached.

Sequential Task:
_pos ( axis:= Pos,
position:= Ziel,
nextCommand:= WHEN_MOTION_DONE)

Advance
command
Program processing stops until
the target position is reached
Fertig:= TRUE;

Cyclical Task:
Query status
pos. command

Pos_status:=
_getStateOfAxisCommand ( Pos,
PosCommandID)

IF (Pos_status <> ACTIVE AND Pos. command


Fertig = FALSE ) THEN
Advance
_pos ( axis:= Pos,
command
position:= Ziel,
nextCommand:= IMMEDIATELY,
commandID:= PosCommandID);
END_IF
IF Pos.motionstatedata.motioncommand =
MOTION_DONE THEN
Query position
Fertig:= TRUE;
END_IF

Cyclical program section


continued

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Variable model
System variables
Introductory
Information

Technology objects

Task

SIMOTION device
SIMOTION - Basic
Information

System variables are automatically provided by


the system or from technological objects and do
not need to be created by the user.

Global user variables

Program Conception

I/O variables

Create Project

Device global variables

SINAMICS Configuration

SIMOTION always differentiates between


three types of variable groups:

Global user variables are defined by the user and


have a wide scope: device global, project global
or unit global.

Unit variables

SIMOTION Configuration
SIMOTION Programming

Local user variables


Program variables
FC variables

Local user variables have a limited scope. They


are always valid only within the defining program
unit (program, function or function block).

FB variables
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Variable model
System variables
Introductory
Information

Technology objects

Variable is assigned to a TO (e.g. actual position of an axis)

SIMOTION device

Variable is assigned to the SIMOTION device


(e.g. system clock)

Task
SIMOTION - Basic
Information

Global user variables

Program Conception

I/O variables

Variable indicates an input/output area


(e.g. Startpos -> P10.1)

Create Project

Device global variables

Variable can be accessed from anywhere on the device

Unit variables

1. A variable can only be used in programs, functions and


function blocks.
2. A specially exported variable can also be used in other
units.

SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Local user variables


Program variables

Variable can only be used within the declaring program

FC variables

Variable can only be used within the declaring function (FC)

FB variables

Variable can only be used in the declaring function block (FB)

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Solution guide

Current situation
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Task (machine diagram)


Topology concept with
SIMOTION
Program concept
Technology objects
Task structure
Task relationships
Variables
System environment
Create device
Specification of the possible DP
cycle clock

Drives
Parameterization SINAMICS
Axis configuration
Master axis
Conveyorbelt
Extractor
Output cam configuration
Cam configuration
Form
Parameterization
Programming, parameterization
and test
WinCC flexible connection

Creation of a hardware
configuration
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Technology objects

Virtual master axis


Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception

Positioning axis
Rotary axis (modulo)

Cam controller pneumatic


extractor
Position-based cams
Interpolator

Real axis - conveyorbelt


Following axis
Rotary axis (modulo)

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Gearbox synchronism
Real axis - pusher
Following axis
Linear axis
Camming
Cam - extractor
Not cyclical
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Task structure

Startup Task
Introductory
Information
Task

Initialization - ST
Background Task

SIMOTION - Basic
Information

Execution control - FUP

Program Conception

Call the homing task / initial


setting travel - FBD

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Call the automatic operation FBD


Motion Task 2 (Homing)
Homing (incremental encoder)
and possibly initial setting
travel of the associated axes MCC
Motion Task 3 (Automatic
operation)
Start the master axis - MCC

Synchronize the conveyorbelt MCC


Trigger the pneumatic valve MCC
Motion Task 4
Call the extractor task - MCC
User Interrupt Task 1 (stock outage
detection)
Call the extractor task - MCC
IPO sync Task (Emergency stop
monitoring)
Test protective door - MCC
Tech Fault / Peripheral Fault Task
(fault handling)
Acknowledge error - MCC

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Task relationship / Program start

Introductory
Information

Motion Task 2

Startup

Motion Task 3

Task
SIMOTION - Basic
Information

Background
Motion Task 4

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration

Start program pEject

User Interrupt

SIMOTION Programming

Interrupts the Task


IPO Sync Task

Motion Task 2
Motion Task 3

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Variables

Device-global variables
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

None
Unit-global variables
Velocity of the leading axis
Open protective door
Program end
Operating mode
Local variables
None

I/O-variables (symbol browser)


Onboard inputs (CU)
ib16DigCU (all inputs)
WORD (DI_0_15)
iboEject (Sensor)
BOOL (DI_2)
iboProtDoor
BOOL (DI_0)
iboStartBelt
BOOL (DI_1)
Onboard outputs (output cam
object)
Onboard outputs (CU)
Extractor active
output cam (DO_8)

Variables are named in accordance with the instructions from the applications style guide V1.01 for SIMOTION

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


SIMOTION create device

1. Create new SIMOTION SCOUT project


Introductory
Information
Task
SIMOTION - Basic
Information

2. Create new device (D435 V4.2)

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration

3. Set the interface for PG to IE2/NET


The networking for PG in NetPro
will be created automatically

SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


HW configuration

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception

Set system clock for integrated


drive interface
Context menu
SINAMICS_INTEGRATED
Object Properties...

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

The value of Tdp determines


the basic cycle of the
SIMOTION task system
Via each factors the settings
can be fine tuned

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


NetPro

The network configuration for PG is created automatically


Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Use the properties of the PG (Object properties) to


change the access address of the logical PG interface (e.g. IP-address)
(Tab Interfaces) or
change the physical mapping of the logical PG interface
(Tab Assignment)
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Configure drives

Start drive configuration


Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

The configuration assistant (wizard)


obtained all necessary information
No option module

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Configure drives

Use unregulated Infeed


Introductory
Information

Create first drive

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Configure Drive 1 (Conveyorbelt)

Set drive name for conveyorbelt (conveyor)


Introductory
Information
Task

No function modules will enabled


in the drive

SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Configure Drive 1 (Conveyorbelt)

Select Power unit (dual-axis module) according to the rating plate


Introductory
Information

Wiring operation signal

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Note: The drive parameter p0864 at power units with DRIVE-CLiQ have
to be wired to the operation signal of the infeed. In all other cases the
operating signal have to be wired to a digital input (e.g. CU). The chosen
DI is now linked with p0864 via BICO.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Configure Drive 1 (Conveyorbelt)

Drive 1 to Connection X1
Introductory
Information
Task
SIMOTION - Basic
Information

Drive with DRIVE-CLiQ interface


No further details for motor type
required

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Configure Drive 1 (Conveyorbelt)

Drive without holding break


Introductory
Information
Task

Choose encoder for drive control

SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Configure Drive 1 (Conveyorbelt)

Standard communication with drive


Introductory
Information
Task

Summary

SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Configure Drive 2 (Extractor)

Insert drive
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

After entering the name of the extractor (eject) the configuration wizard
has to be repeated for drive 2. Shown below are just the dialogs that
differ in comparison to drive 1.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Configure Drive 2 (Extractor)

Select the already added dual-axis module


Introductory
Information
Task

Only Connection X2 is available

SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Configure Drive 2 (Extractor)

Motor with SMC


Introductory
Information
Task

motor type and speed in accordance with rating plate


Encoder in accordance with rating
plate

SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Wiring of an input for infeed

The wiring must be made for both drives (exemplarily to DI7).


Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Training case specific line supply voltage

Introductory
Information
Task
SIMOTION - Basic
Information

For the SIMOTION D training case (single phase connection) the drive
parameter p0210 has to be set from 600V to 345V.
Access via expert list.
This must be carried out for both drives.

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


System cycle clocks

Introductory
Information

The ratio of bus data cycle clock to servo cycle clock to interpolator
cycle clock (IPO) should be 1 : 1 : 1.
The bus data cycle clock is given
by HW config.
(here: DP cycle Tdp).

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

The reduction
of interpolator 2
(IPO_2) can be
chosen freely.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Axis configuration Master Axis

Create a virtual leading axis (MasterAxis) as positioning axis


Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Rotary axis
Virtual axis
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Axis configuration Conveyorbelt

Create a real slave axis (Conveyorbelt)


Introductory
Information

Including synchronous operation

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Rotary axis
Electrical axis

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Axis configuration Conveyorbelt

Connect the slave axis (Conveyorbelt) to drive 1 (conveyor)


Introductory
Information

Assign encoder for the


positioning controller

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Note for the offline configuration: Encoder type (incremental or


absolute) by motors with DRIVE-CLiQ interface have to be determined
from the motor order number.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Axis configuration Extractor

Create a real slave axis (Ejector)


Introductory
Information

Including synchronous operation

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Linear axis
Electrical axis

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Axis configuration Extractor

Connect the slave axis (Ejector) to drive 2 (eject)


Introductory
Information
Task

Assign encoder for the


positioning controller

SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Axis configuration Interconnections

Synchronous operation between leading axis and conveyorbelt


Introductory
Information

Via the synchronous object of the axis

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Axis configuration Interconnection

Synchronous operation between conveyorbelt and extractor


Introductory
Information

By real leading axis (e.g. conveyorbelt) you can choose the setpoint or the actual
value as the set value.

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Axis configuration Parameterization

MasterAxis
Introductory
Information
Task
SIMOTION - Basic
Information

No modifications

Conveyorbelt
Position control
Speed precontrol
activated

Program Conception

DSC activated; Kv = 50

Create Project
SINAMICS Configuration

Ejector
Position control

SIMOTION Configuration

Speed precontrol
activated

SIMOTION Programming

DSC activated; Kv = 50

Automatic controller
setting
Via Controller setting
you can reach the automatic
controller setting
Note: The parameterization in this masks has to be done offline.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Axis configuration Parameterization

Conveyorbelt
Introductory
Information
Task
SIMOTION - Basic
Information

No homing because absolute encoder

Ejector
Homing mode: Encoder zero mark only

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Save and compile all

Save and compile project


Introductory
Information

Either via menu Project


the Toolbar.

Save and compile all or via

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration

Detailed view shows the compile results


The tab Compile / check output shows the results of compiling and checking.
The tab Address setup output shows the automatic performed address assignments.
The set standard settings from the drives and axis were evaluated and suitable
message frame types were chosen (Message frame type 105 and 390 for the Control
Unit). Also the associated address ranges were set.

SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Output cam configuration at the ejector valve

Insert output cam to the axis Ejector


Introductory
Information

Before an output cam can be insert, an I/O of the control unit


has to be configured as output. (DO 8)

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Output cam configuration at the ejector valve

Insert output cam to the axis Ejector


Introductory
Information

Output cam and track will be added in the directory Output Cam under the relevant
axis (Ejector).

Task
SIMOTION - Basic
Information
Program Conception

One output cam were created by Insert output cam.


Set name of the output cam and activate Open editor
automatically.

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Output cam configuration at the ejector valve

Configure the output cam

Activate output

Introductory
Information

Proc. cycle clock: IPO

Set Cam output to: Fast digital output

Task

Output cam type: Position based


cam (related to the axis Ejector)

Set digital output DO 8 at the control unit.


This output won't be added to the symbol
browser.

SIMOTION - Basic
Information
Program Conception

Type of output cam values:


Setpoints

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Advantage: Symbolic Access


No absolute address entry
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Programming I/O-Variables

Create I/O-Variables at the symbol browser


Introductory
Information

iboProtDoor

protection door contact


(input 0 on the switch box of the training case)

iboStartBelt

start conveyorbelt
(input 1)

iboEject

sensor detect bad part


(input 2)

ib16DigCU

Image of the onboard-inputs


of the control unit

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Note: The input in the symbol browser is done offline.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming Settings for program testing
In the general settings of the project is set,
that programs generally can be observed.

Introductory
Information
Task

MCC-units can additional be observed in


single step mode.

SIMOTION - Basic
Information

In the properties of each unit you can


overload this basic settings if necessary.

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

When you insert a source a


properties dialog displays. In
this you can set the name and
if necessary the compiler
settings.
Later this settings can be
changed by the properties of
the existing source.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming variable definition in ST (pDefInit)

Programming
Introductory
Information

Insert ST-unit pDefInit


Insert keywords VAR_GLOBAL
and END_VAR

Task
SIMOTION - Basic
Information

Definition of the variables and


default values

Program Conception

Insert keyword PROGRAM pInit

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Function
Definition of all unit global variables in the INTERFACE field only in one
ST-unit.
Ensures easy exportability of global variables.
Prevent confusing cross-references (links or USES).
Retain variables and HMI variables are also declared on a separate
source.
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Programming variable initialization in ST (pDefInit)

Programming
Introductory
Information

Insert keywords PROGRAM


pInit and END_PROGRAM

Task
SIMOTION - Basic
Information

Initialization of the variables at


STOP RUN transition

Program Conception

Save and compile

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Function
With the program pInit in the ST-unit pDefInit the variables will be set to
a defined value at startup.
The ST-unit pInit is to assign to the StartupTask.
The StartupTask is executed at every change of the operating state of the
SIMOTION control from STOP to RUN.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming connection to an other unit

Basic Procedure
Introductory
Information
Task
SIMOTION - Basic
Information

Always when variables from pDefInit are used in an other source (e.g.
pAuto), pDefInit have to be assign to this source.
This connection can be configured in the tab Connections.

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming TechnologicalFaultTask
Insert MCC-unit pTecFault and add it to the
TechnologicalFaultTask after programming.

Introductory
Information
Task

All alarms of a technological object can be quit (e.g.


Ejector).

SIMOTION - Basic
Information

Also you can quit a specific alarm (e.g. 30002) of a


technological object (conveyorbelt).

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Function
For fault handling of technological objects
(e.g. axis).
In principle, an empty program can be used. Thus, the SIMOTION control wont
STOP if errors occurs.
Note: During the commissioning and troubleshooting, it is advisable to acknowledge
as few alarms directly. These alarms often give clues of misconduct.
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Programming Access to I/O-variables in cyclical tasks

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception

Access to I/Os of the drives only when the drive components have also
been ramped up (after Power On)
e.g. onboard inputs of the CU
Test in the program for valid accesses of the I/O variables
Is to be done in all cyclic tasks (e.g. via the variable gboDriveActive)
Alternatively, you can work directly with replacement values of the I/O variables

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming BackgroundTask in LAD/FBD

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception

Programming of the BackgroundTask


Insert LAD/FBD-unit pBckFBD
Insert a LAD/FBD-program pLADFBD in the
LAD/FBD-unit
The homing and the automatic operation
are started depending on the contents of the
gi16Mode variable.

Create Project

gi16Mode = 0

homing

SINAMICS Configuration

gi16Mode = 1

automatic

SIMOTION Configuration
SIMOTION Programming

This occurs only when


The protection door is closed and
MotionTask_1 or MotionTask_2
Stopped (performed),
Waiting and has been suspended (emergency stop)
Suspended (emergency stop)
In a LAD/FBD-program you can always switch between the
views LAD and FBD. This is done via the menu or the toolbar.
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Programming BackgroundTask in LAD/FBD

Create local variables


Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception

b32TaskState : State of MotionTask_2 or MotionTask_3


b32RetStart : Return value of the function _startTaskID
boResult : Resultbit of the LAD/FBD-Networks
b32ResAnd : Result of the task state evaluation
boGo: Taskstartbit (TRUE if MotionTask_2 or MotionTask_3 have to be restarted)
sTaskSel : Structure that can contain TaskIDs (e.g. MotionTask_2 or MotionTask_3)

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Network 1 Drives ready


Jump to the end if the drives have not
been ramped up yet
No access possibly to
I/O-variables from SINAMICS.
Jump label end is created
in the last network.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming BackgroundTask in LAD/FBD

Network 2 query protection door contact


Introductory
Information
Task

Jump to the end, if protection door is open

Networks 3 and 4 selection of the task

SIMOTION - Basic
Information

Depending on the gi16Mode variable, the sTaskSel variable will be assigned the
value MotionTask_1 or MotionTask_2, respectively.

Program Conception

The task stored in the sTaskSel variable can be started in network 9.

Create Project
SINAMICS Configuration

The block MOVE is insert via the


command library - LAD/FBD elements.
Alternatively, an empty box is used. Then
the empty box is filled with the module
name.

SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming BackgroundTask in LAD/FBD

Network 5 and 6 query task state


Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration

You can query the task state with the system function _GetStateOfTaskId
(command library task system). The reported state is always clearly and
consistently.
This is a significant advantage over an application-locking by using boolean
variables.
The variable sTaskSel contains the task whose state is to be queried.
The return value is a DWORD (b32TaskState) that can be processed bitwise.
In Network 6 is a bitwise AND link of the return value with the value 16#0022.
This corresponds to the OR link of the two states TASK_STATE_STOPPED and
TASK_STATE_SUSPENDED.

SIMOTION Configuration
SIMOTION Programming

Note: The different task state information can be


found in the manual SIMOTION SCOUT basic
functions.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming BackgroundTask in LAD/FBD

Network 7 and 8 evaluate task state


Introductory
Information

The result of the bit AND logical operation is evaluated in this network.

Task

If the return value is larger than 16#0000, the associated task must be restarted
(boGo = TRUE).

SIMOTION - Basic
Information

If the return value matches 16#0000, boGo becomes FALSE. This bypasses
restarting the task. Jump label is end (network 9).

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming BackgroundTask in LAD/FBD

Network 9 and 10 start task


Introductory
Information

This network becomes active as soon as a task needs to be restarted.

Task

To start the task the system function _restartTaskId (command library task
system) is used. This function can only be used to MotionTasks.

SIMOTION - Basic
Information
Program Conception

The return value is a DWORD (b32RetStart), which reports about success or


failure.
In Network 10 is a jump label end. This jump label is at the end of the block, so that
jumps to this position will end the block.

Create Project
SINAMICS Configuration

A jump label can be switched on or off. To do this you have to select the label and
switch it on or off via the toolbar or the menu.

SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming - BackgroundTask (FBD)

Task

The status of the FBD


program can be monitored
in this snapshot (monitor
online).

SIMOTION - Basic
Information

Network 2: The protection


door is closed.

Introductory
Information

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration

Aktueller Wert
zur Laufzeit

Network 3 and 4: The


operating mode is
automatic (gi16Mode = 1).
Consequently, Motiontask_3
is stored in the sTaskSel
variable.

SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming Homing (Motion Task 2 MCC) 1/2

Insert MCC Chart pHoming


Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception

Connect with pDefInit


Declare a local variable
i32RetResetAxis (Variable type
VAR, Data type DINT)
Reset axes in the ST-Zoom (after
emergency stop):

Create Project

i32RetResetAxis := _resetAxis
(Axis := MasterAxis);

SINAMICS Configuration

i32RetResetAxis := _resetAxis
(Axis := Conveyorbelt);

SIMOTION Configuration

i32RetResetAxis := _resetAxis
(Axis := Ejector);

SIMOTION Programming

Alternatively, the axis enable can


also be removed and reapplied.
Set gboProtDoorOpen to false
Set gr64VMasterAxisOld to 0
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Programming Homing (Motion Task 2 MCC) 2/2

Homing:
Introductory
Information

Zeros on the MasterAxis

Task

Enable Conveyorbelt

SIMOTION - Basic
Information

Enable Ejector

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Deactivate Valve output cam


If necessary: active homing conveyorbelt (if an
incremental encoder is used).
Command can be displayed in case of need
again.
Active homing ejector
Use default settings
Optionally, an initial position motion can also
be connected here
Set variable gi16Mode to 1

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming Assignment to the executing system

Introductory
Information
Task
SIMOTION - Basic
Information

Open executing system with


a double click
Use the arrow buttons to
assign previously created
programs to the execution
levels

Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming First Test

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project

Open the Homing program (SCOUT must


be online) and start monitoring
Switch SIMOTION D435 to RUN
Depending on the configuration either both
or only one of these axes perform homing

SINAMICS Configuration

Optionally, the program can also be run in


single-step mode

SIMOTION Configuration

The axes are homed after passage through


the program

SIMOTION Programming

Note for the execution:


The pBckFBD program in the background task starts
the automatic operation as soon as the gi16Mode
variable is set to 1.
Note: There are additional comments on the FAQ slide
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Programming Automatic operation (MotionTask 3 in MCC)
Insert MCC Chart pAuto
Introductory
Information

Connect with pDefInit

Task

Enable MasterAxis

SIMOTION - Basic
Information

The conveyor belt starts with the positive edge of


the iboStartBelt signal

Program Conception

Synchronize the conveyorbelt

Create Project

Activate the Valve output cam

SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

see parameterization (following slides)


see parameterization (following slides)
If the set velocity changes, switch continue
gr64VMasterAxis <> gr64VMasterAxisOld
Start master axis position-controlled with
gr64VMasterAxis velocity
For comparison, save the current velocity in
gr64VMasterAxisOld := gr64VMasterAxis
Until-loop with gboProgEnd condition

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Parameterization - Automatic (MCC)

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project

Switch on the gearbox


synchronism of the
Conveyorbelt
Synchronize immediately
Synchronization length 1
Synchronization reference
master axis
Relative to the start
position (Parameters tab)

SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Activate the Valve output cam


Switch-on position
0.1 mm
Switch-off position
0.4 mm
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Programming Second Test
The program pAuto must now also be assigned to the
execution system
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration

As previously, the monitoring is now activated


Operation:
Once the axes have been homed, the Conveyorbelt starts
to turn as soon as a positive edge of iboStartBelt is
detected
The gr64VMasterAxis set velocity can
be controlled in the symbol browser or
in a watch table (control immediately)
The automatic program responds only
to a change of the set velocity

SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming Test using trace
Open the trace
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception

Variables from the program


and from technological
objects (e.g. axes) can be
recorded in the trace
Procedure:
Select trace D435

Create Project

Select variables

SINAMICS Configuration

Load Trace in the D435

SIMOTION Configuration
SIMOTION Programming

Start D435
Start trace
iboStartBelt from 0 to 1

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Cam Form (with CAM-Tool)
Cam Cam_Ejector
3 elements
1 interpolation point
left
1 straight line at 45
1 interpolation point
right
Note: CAM Tool have to be
installed

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception

Function of the segments


Segment 1: Synchronize
to the conveyorbelt
Segment 2: Synchronous
operation with
conveyorbelt
Segment 3:
Desynchronize and return
to the initial position (wait
for the next defect part)

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Segment 3

Segment 1

Segment 2

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Cam - Parameterization

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Curve elements (straight line, interpolation point)


are selected in the CAMtool function bar.
Properties (right mouse click on the curve
element)
Straight line
x1 = y1 = 0.1
x2 = y2 = 0.4
Interpolation point left (create with symbol)
x = y = 0.0
Interpolation point right (create with symbol)
x = 0.8
y = 0.0
Scaling (Cam Target Device Parameter menu
Master
Base scaling 360
Slave
Base scaling 10
Note: The mouse pointer must be active in order to move
curve elements with the mouse. A decimal point must be
used for floating point numbers.
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Programming Eject by cam

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Insert MCC Chart pEject


Synchronize the cam
This motion task is started
with a user interrupt
The cam is processed
acyclically
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Programming Stock outage detection (user interrupt in MCC)

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Stock outage detection:


Insert program pEject
Specify condition for user interrupt in the
execution system
Sensor at DI 2 (iboEject) at TRUE means
eject is coming (Input 2 on the switch box
of the D435 training case)
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Programming Protection door (IPO synchronous in MCC) 1/2
Monitoring the protection door:
Introductory
Information

Insert MCC Chart pProtDoor

Task

Connect with pDefInit

SIMOTION - Basic
Information

Query whether protection door is


closed (true = closed)

Program Conception

If open , set gboProtDoorOpen bit,


because axes must be explicitly
reset after an emergency stop (see
automatic operation (MotionTask 3
in MCC) 1/2)

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Query all MotionTasks using


_GetStateOfTask (MotionTask_x)
<> 16#0002 (where x = 1 to 3)
(test whether task stopped)
All running tasks will be interrupted

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming Protection door (IPO synchronous in MCC) 2/2
Monitoring the protection door:
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project

Query the axes for stoppage using


MasterAxis.motionstatedata.
motionstate <> standstill
Conveyorbelt.motionstatedata.
motionstate <> standstill
Ejector.motionstatedata.
motionstate <> standstill

SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

If the axes are moving


Deactivate Valve output cam
Stop axes using Fast stop with
maximum deceleration

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


Programming - Test and diagnostics - Possibilities
Test the program execution:
Introductory
Information

Create a watch table. The variable can be moved with a


right click in the symbol browser.

Task
SIMOTION - Basic
Information
Program Conception

Recording object variables


such as actual position and
actual velocity of an axis
using Trace

Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Test the program execution of a Motion Task using


Monitor and Single Step

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


FAQ
After STOP-RUN transition nothing moves, what is the problem?
Introductory
Information

Have the tasks been correctly added to the execution system?

Task

Is the protective door (DI 0) closed?

SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

The extractor output cam does not come!


An output cam must be activated. Are the limits correctly parameterized in the Switch on
SW output cam mask ?
The homing task hangs on the axis enable of the real axes. Why is this?
The axis enable does not arrive. Possible causes:
In the HW configuration, the Master application cycle in the slave properties does
not agree with the position control cycle in the SCOUT under Execution system
Expert settings. They must be identical!
The axes homing is not correct. What can be the error cause?
Check the settings in the Homing Axes mask

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


WinCC flexible - Connection
Connectable variables:
Introductory
Information

System variables
Technology objects

Task

SIMOTION device

SIMOTION - Basic
Information
Program Conception
Create Project

Global user variables


HMI (WinCC flexible)

D435

I/O-variables

SINAMICS Configuration

Device global variables

SIMOTION Configuration

Unit variables

SIMOTION Programming

Ethernet
Data exchange

Example needs a
display resolution of
1280x1024
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


Add pHMIaus ST source

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


pHMIaus ST source in Background-Task

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


WinCC flexible - Connection
Open NetPro
Introductory
Information

Insert a SIMATIC HMI Station

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


WinCC flexible - Connection
Select PC

WinCC flexible Runtime

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


WinCC flexible - Connection
After selecting, the SIMATIC HMI Station appears in NetPro.
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

By double clicking on the station,


the HW Config opens.

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


WinCC flexible - Connection
Insert an Ethernet interface (HMI IE)
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

IP address: 169.254.11.1
Subnet mask: 255.255.0.0
Save and compile
Close HW Config
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


WinCC flexible - Connection
After inserting, the HMI IE interface appears in the station.
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Save and compile


Close NetPro

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


WinCC flexible - Connection
Open WinCC flexible
Introductory
Information

Open existing project

double click on project

Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Select previously insert SIMATIC HMI Station

Siemens AG 2011. All Rights Reserved.


Industry Sector

Example for Beginners


WinCC flexible - Connection
WinCC flexible opens the project
Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

At this point you can edit the WinCC flexible project.


Hereafter the user interface of the sample project is shown.
Siemens AG 2011. All Rights Reserved.
Industry Sector

Example for Beginners


WinCC flexible - Connection (Picture)

Introductory
Information
Task
SIMOTION - Basic
Information
Program Conception
Create Project
SINAMICS Configuration
SIMOTION Configuration
SIMOTION Programming

Siemens AG 2011. All Rights Reserved.


Industry Sector

Thank you for your attention!

Siemens AG 2011. All Rights Reserved.