Simotion Example for Beginners d435 En
Short Description
Download Simotion Example for Beginners d435 En...
Description
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)
1
Motion Task 2
Motion Task 20
Create Project SINAMICS Configuration SIMOTION Configuration SIMOTION Programming
IPO - sync Task 2
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 won’t 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.
View more...
Comments