simotion example for beginners d435 en

71
SIMOTION © SIEMENS AG 2009 SIMOTION Example for Beginners

Upload: mustafa-yasin-halici

Post on 25-Nov-2014

305 views

Category:

Documents


38 download

TRANSCRIPT

SIMOTION

© SIEMENS AG 2009

SIMOTIONExample

for Beginners

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/2

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Disclaimer

of liability

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.

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/3

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Some preliminary

comments

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 possible (e.g. a virtual axis as master).In some cases, the notes page provides further information for the associated slide.The screenshots were created with SIMOTION Version 4.1 (05/2009). Under some circumstances there may be minor changes for future versions.The firmware version on the D435 should agree with the SIMOTION SCOUT version

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/4

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Machine

diagrams

Carton

erector

Prod

uct

feed

Palletizer

Sensor

Conveyor

belt

Package (full)

Package (empty)

Extractor-

electric

travel

-

eject

pneumatically

Procedure

notes

are contained

in the Program Design section

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/5

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Topology

of the automation

solution

SIMOTION SCOUT

ET 200 *

MICROMASTER 420 *

HMI MP270

PROFIBUS DPCarton

erector*Feed*

Transport

Extractor

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

D435

1 FK7

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/6

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Execution

system

Time-triggered

Tasks Task 1 Task 2 Task 5

Motion Tasks Motion Task 1 Motion Task 2 Motion Task 20

Run

Start-up TaskStop

Run

Background Task Background TaskCall Motion Tasks

(se-

quential

tasks)

1

Synchronous

Tasks IPO -

sync

Task 1 IPO -

sync

Task 2 Monitor the emergency

off criteria2

System Int

TasksSystem Int

TasksInterrupt Tasks User Int

Task 1 User Int

Task 2 System Int

TasksResponse to

process

signals

3

Shut-down

Task

Run

Stop

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/7

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Comparison

of cyclical

and sequential

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.

_pos ( axis:=Pos, position := Ziel,

nextCommand:=WHEN_MOTION_DONE)

Finished:= TRUE;

Sequential

task: Cyclical

task:

Program processing

stops

until

the target

position

is reached

Pos_status :=_getStateOfAxisCommand (Pos,

PosCommandID)

IF (Pos_status <> ACTIVE ANDFertig = FALSE ) THEN

_pos (axis:=Pos, position:= Target,

nextCommand:=IMMEDIATELY,commandID:= PosCommandID);

END_IF

IF Pos.motionstatedata.motioncommand

= MOTION_DONE THEN

Fertig:= TRUE;END_IF

Cyclical

program section

continued

Advance

command

Query status

pos. command

Pos. command

Advance

command

Query position

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/8

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Variable model

System variables

Technology objects

SIMOTION device

Global user

variables

I/O variables

Device

global variables

Unit variables

Local

user

variables

Program variables

FC variables

FB variables

Variable is assigned

to a TO (e.g. actual

position

of an axis)

Variable is assigned

to the SIMOTION device

(e.g. system clock)

Variable indicates

an input/output

area

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

Variable can be accessed

from anywhere

on the device

Variable can be accessed

from programs, FCs

and FBs in a unit

Variable can only be used

within the declaring

program

Variable can only be used

within the declaring

function

(FC)

Variable can only be used

in the declaring

function

block (FB)

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/9

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Solution guide

Current situation

Problem task (machine diagram)

Topology concept with SIMOTION

Program concept

Technology objects

Task structure

Task relationships

Variables

Drives

611U parameterization

System environment

Create device

Specification of the possible DP cycleclock

Creation of a hardware configuration

Specification of the possible DP cycle clock

Axis configuration

Master axis

Conveyor belt

Extractor

Output cam configuration

Cam configuration

Form

Parameterization

Programming, parameterization and test

ProTool

connection

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/10

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Technology objects

Virtual master axis

Positioning axis

Rotary axis (modulo)

Real axis - conveyor belt

Following axis

Rotary axis (modulo)

Gearbox synchronism

Real axis - pusher

Following axis

Linear axis

Camming

Cam - extractor

Not cyclical

Cam controller - pneumatic extractor

Position-based cams

Interpolator

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/11

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Task structure

Startup Task

ST initialization

Background Task

Execution control – FBD

Call the homing task / initial setting travel – FBD

Call the automatic operation – FBD

Motion Task 2 (Hominging)

Homing and possibly initial setting travel of the associated axes - MCC

Motion Task 3 (Automatic operation)

Start the master axis – MCC

Synchronize the conveyor belt –MCC

Trigger the pneumatic valve – MCC

User Interrupt 1 (stock outage detection)

Call the extractor task – MCC

IPO synchronous task (emergency stop monitoring)

Test protective door – MCC

Tech Fault / Peripheral Fault - Task (error handling)

Acknowledge error – MCC

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/12

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Task relationships

Start-up

Background

Motion Task 2

User Interrupt

IPO Sync

Task

Motion Task 3

Start program

pEject

Motion Task 2

Motion Task 3

Interrupts the task

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/13

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Device-global variables

None

Unit-global variables

Velocity of the leading axis

Open protective door

Program end

Operating mode

Locale variables

None

I/O Variables (symbol browser)

Onboard inputs:

dig_inputs (alle Eingänge)

WORD (PIW298)

i_boEject (Sensor) Bool PI299.2

i_boProtDoorBool PI299.0

i_boStartBeltBool PI299.1

Fast outputs (output cam object)

Onboard outputs:

Ausschieber aktivNocken

PQ298.0

Example

for Beginners Variables

Naming variables

Variables are named in accordance with the instructions from the SIMOTION ST V4.0 programming standards

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/14

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners HW configuration –

create device

New Scout – create projectCreate new device (D435 V4.1)Select the interface for PG(retain the default setting)

The networking for PG in NetPro will be created automatically

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/15

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners HW configuration

Select cycle for internal interface

e.g. 2ms increase factor to 8

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/16

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Net Pro

The network configuration for PG is created automatically

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/17

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Configure drive 1

Configure drive deviceUse unregulated infeed for SIMOTION D - demonstration kit

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/18

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Configure drive 1

Select power section (dual-axis module) Select rating according to the rating plate

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/19

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Configure drive 1

Motor with DRIVE-CLiQ no further details for the motor type required

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/20

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Configure drive 1

Telegram type 105

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/21

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Configure drive 2

Motor with SMCmotor type andspeed in accordancewith rating plate

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/22

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Configure drive 2

Select encoder in accordance with rating plate, e.g. Endat

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/23

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Comparison with hardware configuration

SINAMICS configurationComparison with the hardware configuration

Entry of the I/O addresses by SIMOTION SCOUT

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/24

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Telegram extension for control unit in HW-Config

Open hardware configuration

Sinamics-integratedobject properties

Activate

Selectstandard telegram 1

Save and

compile

No further comparison with

hardware configuration!!!

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/25

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Telegram for control unit

Wiring of the digital inputs to the send telegram

of the control unit

Inputs available for Simotion

Mouse click on

interconnection icon:

Control unit

other interconnections

r722

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/26

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Wiring of an input for the infeed

(e.g. input 7)

The wiring must be made for both drives

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/27

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Reduce the device connection voltage

For SIMOTION D demo kit: Reduce the parameter 210 from 600 V to 345 V for single phase connectionMust be carried out for both drives

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/28

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners System cycle clocks

Set system cycle clocks

Right-click on the execution system

Ratio: DP to LR to IPO = 1 : 1 : 1

Clock times:3 ms : 3 ms : 3 ms

Note:

The goal is to always have 1:1:1 as setting.

Note:

The ratio of IPO2 can be set if necessary

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/29

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Axis configuration

Master axis

Create a virtual “master axis”

Positioning axis

Rotary axis

Modulo

Cycle length (product length) 360°

Virtual axis

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/30

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Axis configuration

-

Conveyor

belt

Create a real “Conveyorbelt“ slave axis

Following axis

Rotary axis

Modulo

Cycle length (product length) 360°

First axis of the dual axis case,nrated = 6000 rpm

Message frame type 105

DSC selected

Encoder and resolution default values

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/31

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Axis configuration

-

Ejector

Create a real “Ejector“ slave axis

Following axis

Linear axis

Modulo deselected

Second axis of the dual axis case,nrated = 6000 rpm

Message frame type 105

DSC selected

Encoder and resolutiondefault values

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/32

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Axis configuration

-

Parameterization

MasterAxisNo modifications

ConveyorbeltHoming

Only zero mark

Control (position-)Speed-precontrol activated

Kv=50 ; DSC activated

EjectorHoming

Only zero mark

Control (position-)Speed-precontrol activated

Kv=50 ; DSC activated

Note:

The parameterization in the masks is made offline

Position control parameterization

(here Ejector)

Homing

parameterization

(here Conveyorbelt)

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/33

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

I/O variables

Add the I/O variables to the Symbol Browser

“I/O“ symbol in the project tree

Definition of the I/O symbols

i_boProtDoor Protective door contact

i_boStartBelt Start conveyor belt

i_boEject Sensor detects bad part

Note: The input in the Symbol Browser is made offline.

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/34

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Access to I/O in cyclical tasks

Access to I/Os of the drives (e.g. onBoard inputs of the CU)only when the drive components have also been ramped up (after Power On)

Test in the program for valid accesses of the I/O variablesMust be made in all cyclical tasks

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/35

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Function

Definition of unit-global variables in a source

Ensures the simple export of global variables and avoids complicated cross-references (“connections“ or “USES“)

Retain variables and HMI variables should also be declared in their own separate source

Example

for Beginners Programming

def_init

(variable definition

in ST)

Programming

Add ST program (source) “def_init“

Add VAR_GLOBAL and END_VAR keywords

PROGRAM “init“ keyword

Definition of the variables and default values

g_boProgEnd

g_boProtDoorOpen

g_rVMasterAxis

g_rVMasterAxisOld

g_iMode

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/36

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Function

The “init“ program in the “def_init“ source is used to set the variables to their defined initial value during the startup.

The “init“ ST program must be assigned to the startup task

Example

for Beginners Programming

def_init

(variable initialization

in ST)

Programming

Add PROGRAM “init“ and END_PROGRAM keywords

Initialization of the variables for STOP – RUN transition

g_boProgEnd

g_boProtDoorOpen

g_rVMasterAxis

g_rVMasterAxisOld

g_iMode

Save and compile

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/37

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

Techfault

Task (MCC)

Note: During commissioning and troubleshooting, it is advisable to directly acknowledge as few alarms as possible. Such alarms often provide useful information

about the cause of a malfunction.

Warning: When a Techfault

task is used, the user assumes the responsibility for the error

handling.

Create “tecfault“ MCC Chart.

Used for the error handling.

Generally, an empty program can also be used. In this case, the controller does not STOP, even for errors.

However, all alarms of one object (e.g. Ejector) can also be acknowledged.

It is also possible to acknowledge a specific alarm (e.g. 30002) of an object (here Conveyorbelt).

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/38

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Monitoring

Motion Tasks

When a program (MCC, ST, LAD/FBD) is created, it is also possible to parameterize whether the program monitors and can operate in single-step mode (MCC).

The appropriate checkboxes are located in the Compiler tab.

This setting can be made later in the Properties dialog box of the program.

Basic procedure

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/39

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Connection

with another

source (unit)

When variables from the “def_init“ source are used in another program, they must be connected to this program.

Establish connection with the source (unit) ”def_init“, Connections tab

MCC: in the Start node (button)

LAD/FBD: program button

Basic procedure

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/40

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

Background Task

(FUP)

Add “bckFUP“

LAD/FBD plan.

The setup program and the automatic operation are started depending on the contents of the g_iModevariable

g_iMode

= 0 : Setup

g_iMode

= 1 : Automatic operation

This occurs only when:

The protective door is closed

MotionTask_1 or Motiontask_2 is

Stopped (performed),

Waiting and has been suspended (emergency stop)

Suspended (emergency stop)

Note: If necessary, switch between LAD and FBD

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/41

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming –

Background Task (FBD)

Network 1: Jump to the end if the drives have not yet been ramped up(no access possible to I/Os from Sinamics)

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/42

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

Background Task (FBD)

Create local variables

bTaskState : Status of MotionTask_1 or MotionTask_2

bRetStart : Return value of the “_startTaskID“ function

boResult : Result bit of the FBD networks

bResAnd : Result of the Taskstatus evaluation

boGo: Task start bit (TRUE if MotionTask_1 or MotionTask_2 must be restarted)

sTaskSel : Structure that can contain TaskIDs (e.g. MotionTask_1 or MotionTask_2)

Network 2: Query protective door contact

No new tasks will be started if the protective door is open

Label in NW9

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/43

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

Background Task (FBD)

Network 3 and network 4:

Depending on the g_iModevariable (operating mode, 0: homing, 1: automatic), the sTaskSel variable will be assigned the value “MotionTask_1“ or “MotionTask_2“, respectively.

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

Add with empty

box

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/44

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

Background Task (FBD)

Network 5:

The status of a task can be queried in FBD using the “_GetStateOfTaskId“

system function from the “Command Library”

tab (built-in compiler functions) and so is always unique and consistent (advantage compared with locking using bits).

The function return value is a DWORD (bTaskState) that can be processed bitwise.

The sTaskSel

variable contains the task whose status is to be queried.

By performing a bitwise logical operation with 16#0022 (corresponds to 2#0000 0000 xx1x xx1x) on the return value. Also refer to “Task States“

ST-documentation.

Task stopped

Task suspended

It can be decided whether the task needs to be restarted. This is the case when the return value (bResAnd) after the logical operation is larger than 16#0000.

Network 6:

Add with empty

box

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/45

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

Background Task (FBD)

Network 7:

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

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

= TRUE).

Network 8:

If the return value matches 16#0000, boGo

becomes FALSE. This bypasses restarting the task. Jump label is “end“

(network 9)

Jump

label

(label

is created

in NW9)

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/46

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

Background Task (FBD)

Network 9:

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

This system function is called “_restartTaskID“. The result of the function call is stored in “bRetStart“.

Network 10:

Network 10 is the “end“

jump label when no task needs to be started.

“Jump label on/off“

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/47

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

Background Task (FBD)

The status of the FBD program can be monitored in this snapshot (monitor online).

Network 1: The protective door is closed.

Network 2 and 3: The operating mode is “automatic“

(g_iMode

= 1). Consequently, Motiontask_3 is stored in the sTaskSel

variable.

Current

value

at runtime

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/48

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Output cam configuration

at the ejector

valve

“Valve“ output camOutput cam type Position-based output cam

(related to “Ejector“)

Output cam cycle clock Interpolator

Type of the output cam value Setpoints

Fast output cams Yes

Active output Yes

Logical HW address 298.0

Note:

Output cams are stored in the “Nocken“

subdirectory under the directory of the associated axis. Here “Ejector“.

Note:

The 298.0 output does not

need to be stored in I/O Browser.

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/49

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Homing

(Motion Task 2 MCC) 1/2

Add “Homing“ MCC chart

Declare “ret_resetAxis“ local variable in the start button (VAR variable type, DINT data type)

Connect with “def_init“

Reset axes in the “ST zoom” (after emergency stop):

“ret_resetAxis := _resetAxis (Axis := MasterAxis);“

“ret_resetAxis := _resetAxis (Axis := Conveyorbelt);“

“ret_resetAxis := _resetAxis (Axis := Ejector);“

Alternatively, the axis enable can also be removed and reapplied.

Set g_boProtDoorOpen to “false“

Set g_rvMasterAxisOld to 0

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/50

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Homing

(Motion Task 2 MCC) 2/2

Homing

Zeros on the “MasterAxis“

Enable “Conveyorbelt“

Enable “Ejector“

Deactivate “Valve“ output cam

“Active homing“ conveyor belt

The initialization values can be retained

“Active homing“ ejector

The initialization values can be retained

Optionally, an initial position motion can also be connected here

Set g_iMode variable to 1

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/51

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Assignment

to the execution

system

Open execution system with a double-click

Use the arrow buttons to assign previously created programs to the execution levels

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/52

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

First test

Open the “Homing“ program (SCOUT must be online) and start monitoring

Switch SIMOTION D435 to RUN

Both axes perform homing movements

Optionally, the program can also be run in single-step mode

The axes are homed after passage through the program

Note for the execution:

The “bckFUP“

program in the background task starts the automatic operation as soon as the “g_iMode”

variable is set to 1.

Note:

There are additional comments on the “FAQ“

slide

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/53

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Automatic operation

(Motiontask

3 in MCC)

Add “Auto“ MCC chart

Connect with “def_init“

Enable “MasterAxis“

The conveyor belt starts with the positive edge of the “i_boStartBelt“ signal

Synchronize the conveyor belt

See parameterization (following slides)

Activate the “Valve“ output cam

See parameterization (following slides)

If the set velocity changes, advance

g_rvMasterAxis <> g_rvMasterAxisOld

Start master axis position-controlled with “g_rvMasterAxis“ velocity

For comparison, save the current velocity in „g_rvMasterAxisOld := g_rvMasterAxis“

Until-loop with “g_boProgEnd“ condition

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/54

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Parameterization

-

Automatic (MCC)

Switch on the gearbox synchronism of the Conveyorbelt

“Synchronize immediately”

Synchronization length 1

Synchronization reference master axis

Relative to the start position (Parameters tab)

Activate the “Valve“ output cam

Switch-on position0.1 mm

Switch-off position 0.4 mm

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/55

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Second test

The “g_rvMasterAxis“ set velocity can be controlled in the Symbol Browser (control immediately)

The automatic program responds only to a change to the set velocity

The “Auto“ program must now also be assigned to the execution system

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 “i_boStartBelt“ is detected

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/56

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Test using

trace

Open the trace

Variables from the program and from technological objects (e.g. axes) can be recorded in the trace

Procedure:

Select variables

Load trace into the D435

Start D435

Start trace

i_boStartBelt from 0 to 1

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/57

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Cam Form (with CAM Tool)

“Cam_Ejector“ cam3 Elements

1 interpolation point left

1 straight line at 45°

1 interpolation point right

Function of the segments

Segment 1: Synchronize to the conveyor belt

Segment 2: Synchronous operation with conveyor belt

Segment 3: Desynchronize and return to the initial position (wait for the next defective part)

Note:

CAM Tool must be installed.Segment 1

Segment 2

Segment 3

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/58

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Cam -

Parameterization

Curve elements (straight line, interpolation point) are selected in the CAMtool function bar.

Properties (right mouse click on the curve element)

Straight linex1, 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)

MasterBase scaling 360

SlaveBase 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.

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/59

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Eject

by

cam

Add “Eject“ MCC chart

Synchronize the cam

This motion task is started with a user interrupt

The cam is processed acyclically

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/60

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Stock outage

detection

(user

interrupt

in MCC)

Stock outage detection

Add program “pEject”

Specify condition for user interrupt in the execution system

Sensor at I299.2 (i_boEject) at TRUE means “eject”is coming (the right-hand red pushbutton on the D435 test rack)

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/61

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

Protective

door

(IPO synchronous

in MCC) 1/2

Monitoring the protective door

Add “ProtDoor“ MCC chart

Connect with “def_init“

Query whether protective door closed (True = closed)

If open, set “g_boProtDoorOpen“ bit, because axes must be explicitly reset after an emergency stop (see automatic operation (Motion Task 3 in MCC) 1/2)

Query all Motion Tasks using “_GetStateOfTask (Motiontask_x) <> 16#0002“ (where x= 1 to 3) (test whether task “stopped“)

All running tasks will be interrupted

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/62

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

Protective

door

(IPO synchronous

in MCC) 2/2

Monitoring the protective door

Query the axes for stoppage using

“MasterAxis.motionstatedata.motionstate <> standstill“

“Conveyorbelt.motionstatedata.motionstate <> standstill“

“Ejector.motionstatedata.motionstate <> standstill“

If the axes are moving

Deactivate “Valve“ output cam

Stop axes using “Fast stop with maximum deceleration“

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/63

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Programming

-

Test and diagnosis

-

Possibilities

Test the program execution

Create a “Watchtable“ variable table. The variable can be moved with a right click in the Symbol Browser.

Recording object variables such as actual position and actual velocity of an axis using “Trace“

Test the program execution of a Motion Task using “Monitor” and “Single Step”

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/64

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners FAQ

After STOP–RUN transition nothing moves, what is the problem?

Have the tasks been correctly added to the execution system?

Is the protective door (PI299.0) closed?

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:

Message frame type incorrectly set (SINAMICS and SIMOTION to 105).

Bus terminating resistances not set correctly (at “ON“ rather than at “OFF“ bus end points).

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

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/65

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners ProTool/Pro

Connection

Connectable

variables:

PROFIBUS DP

HMI (ProTool)

Data exchange

Prerequisite

:

ProTool

in STEP7 integrated installed!

Global user

variables

I/O variables

Device-global

variables

Unit variables

System variables

Technology objects

SIMOTION device

D435

example needs a display resolution

of 1280 x1024

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/66

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners Add „pHMIaus" ST source

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/67

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners “pHMIaus"

ST source in background task

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/68

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners ProTool/Pro

connection

(project) 1/2

Create a new ProTool/Pro configuration with ProTool/Pro CS

Close SIMOTION SCOUT

Open ProTool/Pro CS

“Project – Integrate in Step7-Proj”

Select the source SIMOTION project (example on CD)

Here: PRO__00

Include in the introductory project

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/69

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners ProTool/Pro

connection

(project) 2/2

Under “Parameters ...”

Configuration of the network connection

Here “Ethernet”

Restore the symbols

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/70

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners ProTool/Pro

connection

(compile, generate, start RunTime)

Compile project and regenerate

Start ProTool RunTime

Automation and Drives

SIMOTION

Issued: 05/2009 Siemens I IA DT MC© SIEMENS AG 2009 SIMOTION_EXAMPLE_FOR_BEGINNERS_D435.PPT/71

Task

SIMOTION - Basic Information

Program Design

Program Implementation

Example

for Beginners ProTool/Pro connection (picture)