Professional Documents
Culture Documents
1
SIMOTION SIMOTION SCOUT SIMOTION MCC Motion Control Chart
______________
Description
2
______________
Software interface
SIMOTION MCC Source Files and
3
______________
MCC Charts
SIMOTION SCOUT
4
SIMOTION MCC ______________
Programming in MCC
Motion Control Chart
5
Programming and Operating Manual
______________
MCC commands
6
______________
Commissioning (software)
A
______________
Appendix
05/2009
Legal information
Legal information
Warning notice system
This manual contains notices you have to observe in order to ensure your personal safety, as well as to prevent
damage to property. The notices referring to your personal safety are highlighted in the manual by a safety alert
symbol, notices referring only to property damage have no safety alert symbol. These notices shown below are
graded according to the degree of danger.
DANGER
indicates that death or severe personal injury will result if proper precautions are not taken.
WARNING
indicates that death or severe personal injury may result if proper precautions are not taken.
CAUTION
with a safety alert symbol, indicates that minor personal injury can result if proper precautions are not taken.
CAUTION
without a safety alert symbol, indicates that property damage can result if proper precautions are not taken.
NOTICE
indicates that an unintended result or situation can occur if the corresponding information is not taken into
account.
If more than one degree of danger is present, the warning notice representing the highest degree of danger will
be used. A notice warning of injury to persons with a safety alert symbol may also include a warning relating to
property damage.
Qualified Personnel
The device/system may only be set up and used in conjunction with this documentation. Commissioning and
operation of a device/system may only be performed by qualified personnel. Within the context of the safety notes
in this documentation qualified persons are defined as persons who are authorized to commission, ground and
label devices, systems and circuits in accordance with established safety practices and standards.
Proper use of Siemens products
Note the following:
WARNING
Siemens products may only be used for the applications described in the catalog and in the relevant technical
documentation. If products and components from other manufacturers are used, these must be recommended
or approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and
maintenance are required to ensure that the products operate safely and without any problems. The permissible
ambient conditions must be adhered to. The information in the relevant documentation must be observed.
Trademarks
All names identified by ® are registered trademarks of the Siemens AG. The remaining trademarks in this
publication may be trademarks whose use by third parties for their own purposes could violate the rights of the
owner.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the hardware and software
described. Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the
information in this publication is reviewed regularly and any necessary corrections are included in subsequent
editions.
Scope
This document is part of the SIMOTION Programming documentation package.
This document is valid for product version V4.1, Service Pack 4 of SIMOTION SCOUT (the
engineering system of the SIMOTION product family) in conjunction with:
● a SIMOTION device with the following versions of the SIMOTION kernel:
– V4.1 SP4
– V4.1 SP2
– V4.1 SP1
– V4.0
– V3.2
– V3.1
– V3.0
● The relevant version of the following SIMOTION Technology Packages, depending on the
kernel
– Cam
– Path (kernel V4.1 and higher)
– Cam_ext (kernel V3.2 and higher)
– TControl
– Gear, Position and Basic MC (only for kernel V3.0).
SIMOTION Documentation
An overview of the SIMOTION documentation can be found in a separate list of references.
This documentation is included as electronic documentation with the supplied SIMOTION
SCOUT.
The SIMOTION documentation consists of 9 documentation packages containing
approximately 80 SIMOTION documents and documents on related systems (e.g.
SINAMICS).
The following documentation packages are available for SIMOTION V4.1 SP4:
● SIMOTION Engineering System
● SIMOTION System and Function Descriptions
● SIMOTION Service and Diagnostics
● SIMOTION Programming
● SIMOTION Programming - References
● SIMOTION C
● SIMOTION P350
● SIMOTION D4xx
● SIMOTION Supplementary Documentation
Additional support
We also offer introductory courses to help you familiarize yourself with SIMOTION.
For more information, please contact your regional Training Center or the main Training
Center in 90027 Nuremberg, Germany.
Information about training courses on offer can be found at:
www.sitrain.com
Technical support
If you have any technical questions, please contact our hotline:
Europe / Africa
Phone +49 180 5050 222 (subject to charge)
Fax +49 180 5050 223
€0.14/min from German wire-line network, mobile phone prices may differ.
Internet http://www.siemens.com/automation/support-request
Americas
Phone +1 423 262 2522
Fax +1 423 262 2200
E-mail mailto:techsupport.sea@siemens.com
Asia / Pacific
Phone +86 1064 757575
Fax +86 1064 747474
E-mail mailto:support.asia.automation@siemens.com
Note
Country-specific telephone numbers for technical support are provided under the following
Internet address:
http://www.automation.siemens.com/partner
Preface ...................................................................................................................................................... 3
1 Description............................................................................................................................................... 21
1.1 Overview ......................................................................................................................................21
1.2 Introduction to MCC (Motion Control Chart) ................................................................................21
1.3 Principles of programming ...........................................................................................................23
1.4 Procedure for programming .........................................................................................................24
2 Software interface.................................................................................................................................... 25
2.1 User interface in MCC editor........................................................................................................25
2.2 Representation of MCC chart and MCC source file in Workbench .............................................25
2.3 Operator input options .................................................................................................................27
2.4 Settings for the MCC editor..........................................................................................................29
2.5 Calling up the online help.............................................................................................................30
3 MCC Source Files and MCC Charts ........................................................................................................ 31
3.1 General ........................................................................................................................................31
3.2 Inserting and managing MCC source files...................................................................................32
3.2.1 Inserting a new MCC source file ..................................................................................................32
3.2.2 Opening existing MCC source files..............................................................................................34
3.2.3 Transferring and compiling an MCC source file...........................................................................34
3.2.4 Closing an open MCC source file ................................................................................................35
3.2.5 Cutting, copying, and deleting an MCC source file......................................................................36
3.2.6 Pasting a cut or copied MCC source file......................................................................................36
3.2.7 Know-how protection for MCC source files..................................................................................36
3.2.8 Exporting and importing an MCC source file ...............................................................................37
3.2.8.1 Exporting an MCC source file as an ST source file .....................................................................37
3.2.8.2 Exporting an MCC source file in XML format...............................................................................38
3.2.8.3 Importing an MCC source file from XML data..............................................................................38
3.2.9 Properties of an MCC source file .................................................................................................39
3.2.9.1 Renaming MCC source files ........................................................................................................39
3.2.9.2 Using test functions......................................................................................................................40
3.2.9.3 Configuring compiler settings.......................................................................................................40
3.3 Inserting and managing MCC charts ...........................................................................................44
3.3.1 Inserting a new MCC chart ..........................................................................................................44
3.3.2 Opening an existing MCC chart ...................................................................................................46
3.3.3 Transferring and compiling an MCC chart ...................................................................................46
3.3.4 Closing an open MCC chart.........................................................................................................46
3.3.5 Cutting, copying, and deleting an MCC chart ..............................................................................46
3.3.6 Pasting a cut or copied MCC chart ..............................................................................................47
3.3.7 Specifying the order of MCC charts in the MCC source file ........................................................47
5.6 Commands for external encoders, measuring inputs and output cams ................................... 360
5.6.1 External encoder on .................................................................................................................. 360
5.6.1.1 Overview of parameters for External encoder on ..................................................................... 361
5.6.1.2 Relevant system function for External encoder on ................................................................... 361
5.6.2 External encoder off .................................................................................................................. 362
5.6.2.1 Overview of parameters for External encoder off ..................................................................... 363
5.6.2.2 Relevant system function for External encoder off ................................................................... 363
5.6.3 Synchronize external encoder .................................................................................................. 364
5.6.3.1 Overview of parameters for Synchronize external encoder...................................................... 365
5.6.3.2 Overview of parameters for Synchronize external encoder – Parameters tab ......................... 365
5.6.3.3 Overview of parameters for Synchronize external encoder – Expert tab ................................. 366
5.6.3.4 Relevant system function for Synchronize external encoder.................................................... 366
5.6.4 Encoder monitoring on .............................................................................................................. 367
5.6.4.1 Overview of parameters for Encoder monitoring on ................................................................. 368
5.6.4.2 Overview of parameters for Encoder monitoring on – Parameters tab..................................... 368
5.6.4.3 Overview of parameters for Encoder monitoring on – Expert tab ............................................. 368
5.6.4.4 Relevant system function for Encoder monitoring on ............................................................... 369
5.6.5 Encoder monitoring off .............................................................................................................. 370
5.6.5.1 Overview of parameters for Encoder monitoring off ................................................................. 371
5.6.5.2 Relevant system function for Encoder monitoring off ............................................................... 371
5.6.6 Activate measuring input........................................................................................................... 372
5.6.6.1 Overview of parameters for Activate measuring input .............................................................. 375
5.6.6.2 Overview of parameters for Activate measuring input – Parameters tab ................................. 376
5.6.6.3 Overview of parameters for Activate measuring input – Expert tab.......................................... 377
5.6.6.4 Relevant system functions for Activate measuring input .......................................................... 378
5.6.7 Deactivate measuring input....................................................................................................... 379
5.6.7.1 Overview of parameters for Deactivate measuring input.......................................................... 380
5.6.7.2 Overview of parameters for Deactivate measuring input – Parameters tab ............................. 380
5.6.7.3 Overview of parameters for Deactivate measuring input – Expert tab ..................................... 381
5.6.7.4 Relevant system functions for Deactivate measuring input ...................................................... 381
5.6.8 Synchronize measuring system ................................................................................................ 382
5.6.8.1 Overview of parameters for Synchronize measuring system ................................................... 383
5.6.8.2 Overview of parameters for Synchronize measuring system – Parameters tab....................... 383
5.6.8.3 Overview of parameters for Synchronize measuring system – Expert tab ............................... 384
5.6.8.4 Relevant system function for Synchronize measuring system ................................................. 385
5.6.9 Switch output cam on................................................................................................................ 386
5.6.9.1 Overview of parameters for Switch output cam on ................................................................... 393
5.6.9.2 Overview of parameters for Switch output cam on – Parameters tab ...................................... 394
5.6.9.3 Overview of parameters for Switch output cam on – Expert tab............................................... 396
5.6.9.4 Relevant system functions for Switch output cam on ............................................................... 397
5.6.10 Switch output cam off................................................................................................................ 398
5.6.10.1 Overview of parameters for Switch output cam off ................................................................... 399
5.6.10.2 Overview of parameters for Switch output cam off – Parameters tab ...................................... 399
5.6.10.3 Overview of parameters for Switch output cam off – Expert tab............................................... 400
5.6.10.4 Relevant system functions for Switch output cam off ............................................................... 400
5.6.11 Switch output cam signal .......................................................................................................... 401
5.6.11.1 Overview of parameters for Switch output cam signal.............................................................. 403
5.6.11.2 Overview of parameters for Switch output cam signal – Parameters tab ................................. 404
5.6.11.3 Overview of parameters for Switch output cam signal – Expert tab ......................................... 404
5.6.11.4 Relevant system functions for Switch output cam signal.......................................................... 405
5.6.12 Output cam track On ................................................................................................................. 405
5.6.12.1 Overview of parameters for Output cam track On .................................................................... 408
5.6.12.2 Overview of parameters for Output cam track On – Parameters tab........................................ 409
5.6.12.3 Overview of parameters for Output cam track On – Expert tab ................................................ 411
5.6.12.4 Relevant system function for Output cam track On .................................................................. 411
5.7.8.3 Overview of parameters for Set scaling on camming – Dynamic response tab ....................... 479
5.7.8.4 Overview of parameters for Set scaling on camming – Expert tab ........................................... 479
5.7.8.5 Relevant system function for Set scaling on camming ............................................................. 480
5.7.9 Set offset on camming .............................................................................................................. 481
5.7.9.1 Overview of parameters for Set offset on camming.................................................................. 482
5.7.9.2 Overview of parameters for Set offset on camming – Parameters tab ..................................... 484
5.7.9.3 Overview of parameters for Set offset on camming – Dynamic response tab.......................... 485
5.7.9.4 Overview of parameters for Set offset on camming – Expert tab ............................................. 485
5.7.9.5 Relevant system function for Set offset on camming................................................................ 486
5.7.10 Parameterize cam ..................................................................................................................... 487
5.7.10.1 Overview of parameters for Parameterize cam ........................................................................ 489
5.7.10.2 Overview of parameters for Parameterize cam – Offset tab..................................................... 489
5.7.10.3 Overview of parameters for Parameterize cam – Basic scaling tab ......................................... 490
5.7.10.4 Overview of parameters for Parameterize cam – Range scaling tab ....................................... 490
5.7.10.5 Overview of parameters for Parameterize cam – Expert tab .................................................... 491
5.7.10.6 Relevant system functions for Parameterize cam..................................................................... 491
5.7.11 Switch master setpoint .............................................................................................................. 492
5.7.11.1 Overview of parameters for Switch master setpoint ................................................................. 493
5.7.11.2 Overview of parameters for Switch master setpoint – Parameters tab..................................... 494
5.7.11.3 Overview of parameters for Switch master setpoint – Dynamic response tab ......................... 494
5.7.11.4 Overview of parameters for Switch master setpoint – Expert tab ............................................. 495
5.7.11.5 Relevant system function for Switch master setpoint ............................................................... 495
5.8 Commands for path interpolation.............................................................................................. 496
5.8.1 Traverse path linearly................................................................................................................ 497
5.8.1.1 Overview of parameters for Traverse path linearly................................................................... 498
5.8.1.2 Overview of parameters for Traverse path linearly – Parameters tab ...................................... 499
5.8.1.3 Overview of parameters for Traverse path linearly – Dynamic response tab ........................... 501
5.8.1.4 Overview of parameters for Traverse path linearly – Path-synchronous motion tab ................ 503
5.8.1.5 Overview of parameters for Traverse path linearly – Expert tab............................................... 504
5.8.1.6 Relevant system function for Traverse path linearly................................................................. 505
5.8.2 Traverse path circularly............................................................................................................. 506
5.8.2.1 Overview of parameters for Traverse path circularly ................................................................ 507
5.8.2.2 Overview of parameters for Traverse path circularly – Parameters tab ................................... 508
5.8.2.3 Overview of parameters for Traverse path circularly – Dynamic response tab ........................ 511
5.8.2.4 Overview of parameters for Traverse path circularly – Path-synchronous motion tab ............. 513
5.8.2.5 Overview of parameters for Traverse path circularly – Expert tab............................................ 514
5.8.2.6 Relevant system function for Traverse path circularly .............................................................. 515
5.8.3 Traverse path using polynomials .............................................................................................. 516
5.8.3.1 Overview of parameters for Traverse path using polynomials.................................................. 518
5.8.3.2 Overview of parameters for Traverse path using polynomials – Parameters tab ..................... 519
5.8.3.3 Overview of parameters for Traverse path using polynomials – Dynamic response tab.......... 522
5.8.3.4 Overview of parameters for Traverse path using polynomials – Path-synchronous motion
tab ............................................................................................................................................. 525
5.8.3.5 Overview of parameters for Traverse path using polynomials – Expert tab ............................. 526
5.8.3.6 Relevant system function for Traverse path using polynomials................................................ 527
5.8.4 Stop path motion ....................................................................................................................... 529
5.8.4.1 Overview of parameters for Stop path motion .......................................................................... 530
5.8.4.2 Overview of parameters for Stop path motion – Parameters tab.............................................. 530
5.8.4.3 Overview of parameters for Stop path motion – Dynamic response tab .................................. 531
5.8.4.4 Overview of parameters for Stop path motion – Expert tab ...................................................... 531
5.8.4.5 Relevant system functions for Stop path motion....................................................................... 532
5.8.5 Continue path motion ................................................................................................................ 533
5.8.5.1 Overview of parameters: Continue path motion........................................................................ 534
5.8.5.2 Relevant system function for Continue path motion ................................................................. 535
0&&FKDUW
6,027,21 6,027,21
'ULYH$ 'ULYH%
$[LV$$[LV%
Application of MCC
MCC facilitates automation by offering the following features:
● The motion sequences on the machine can be easily programmed and are clearly
defined.
● The programmer's logic is supported.
● Structured programming available through use of subroutines and modular creation of
commands and library functions.
● Wait commands for quick responses to events.
● Simultaneous starting of axes.
● Online functions allow tracking of the program execution (program execution monitoring
and breakpoints).
● Integrated online help.
These features help the inexperienced programmer to achieve results fast and let the
experienced programmer create complex programs more efficiently.
Function
When you press a key, an axis will travel to position 1,000 mm at a velocity of 100 mm/s.
Once this position has been reached, an output is to be set (for example, lamp ON).
This task is now broken down into several subtasks:
● Set axis enable signals
● Wait until the key is pressed
● Traverse axis to position
● Set output when motion ends
An MCC command is available for each of the listed subtasks. Each command is
represented by a rectangular symbol in MCC. The parameters for individual commands
(position = 1000, input = 1.0, etc.) are entered using a command dialog box. This opens
when you double-click the command.
This example deals only with the MCC programming aspect. For this reason, information
about the keys, axis, and lamp should already be available to the control system.
① Set enables:
drive enable, pulse enable, position controller enable
② Wait until the key with input 1.0 is pressed
③ Traverse the axis to position at the specified speed
④ Activate output Q1.1 for a lamp
Figure 1-2 MCC chart for example task
0HQXEDU
7RROEDUV
:RUNLQJDUHD
3URMHFWQDYLJDWRU
'HWDLOYLHZ
Menu bar
There are two separate menu bars for the MCC source file and the MCC chart. Each
contains a complete set of action commands.
The appropriate menu bar is displayed for the active window in the working area.
Context menu
To use the context menu for an object, proceed as follows:
1. Select the appropriate object with the left mouse button (left click).
2. Briefly click the right mouse button.
3. Left-click the appropriate menu item.
Note
In this document, work steps and action commands are executed wherever possible via
the context menu. However, some action commands can only be executed via the menu
bar or toolbar.
Toolbar
The toolbars contain important operator input steps, for example, for saving or for inserting
elements. The toolbars can be positioned as required within the Workbench.
Using the menu View > Toolbars, you can display or hide these.
The MCC editor toolbar contains the full range of MCC commands. The list of commands is
displayed when you place the cursor on the appropriate button (see inserting commands
(Page 55)).
Shortcut
You can input commands quickly in the MCC editor using keystroke combinations. The
keystroke combinations available in the MCC editor are listed in Annex Key combinations
(Page 586).
The online help system is called up with the keystroke combination Shift+F1 or F1.
Drag&drop
Variables can be moved from the detail view (Symbol browser tab) to the input field using a
drag-and-drop operation.
Left-click the line number of the variable you wish to move. The line with the variable is
selected. Keeping the left mouse button depressed, drag the line number into the input field
of the parameter screen form. As soon as you release the left mouse button, the variable will
be inserted at the appropriate position.
6\PERO'HVFULSWLRQ
9DULDEOHFDQ
EHLQVHUWHG
9DULDEOHFDQQRW
EHLQVHUWHG
3UHVVDQGKROG
WKHOHIWKDQG
PRXVHEXWWRQ
3.1 General
MCC units are assigned to the SIMOTION device on which the MCC charts contained in the
MCC unit will subsequently be run (e.g. SIMOTION C230). They are stored in the project
navigator under the SIMOTION device in the PROGRAMS folder.
MCC charts are the individual program organization units (program, function, function block)
in an MCC unit. They are stored under the MCC unit in the project navigator.
Note
ST source files and LAD/FBD units, etc. are also stored in the PROGRAMS folder under the
SIMOTION device.
For a description of the SIMOTION ST (Structured Text) programming language, refer to the
SIMOTION ST Programming Manual.
For a description of the SIMOTION LAD (Ladder Diagram) and SIMOTION FBD (Function
Block Diagram) programming languages, refer to the SIMOTION LAD/FBD Programming
Manual.
Procedure
To insert a new MCC source file using the context menu, proceed as follows:
1. Select the PROGRAMS folder of the relevant SIMOTION device in the project navigator.
2. In the context menu, select Insert new object > MCC unit.
3. Enter the name of the MCC source file.
The names of program source files must comply with the rules for identifiers: They consist
of letters (A to Z, a to z), numbers (0 to 9), or single underscores (_) in any order,
whereby the first character must be a letter or an underscore. The letters are not case-
sensitive.
The permissible length of the name depends on the version of the SIMOTION kernel:
– Version V4.1 and higher of the SIMOTION kernel: a maximum of 128 characters
– Version V4.0 and below of the SIMOTION kernel: a maximum of 8 characters
Names must be unique within the SIMOTION device.
4. If necessary, select the Compiler tab and make any local compiler settings (see Local
compiler settings (Page 41)).
5. You can also enter an author, version, and a comment.
6. Click OK to confirm.
NOTICE
When you click OK, the MCC unit will only be transferred to the project. The data,
together with the project, is only saved to the data carrier if you select Project > Save,
Project > Save and compile all or Project > Save and recompile all.
Figure 3-2 New MCC source file (declaration table for the interface and implementation
sections)
Procedure:
1. To transfer an MCC source file with its associated MCC charts to the project and start its
compilation, proceed as follows:
2. Make sure that the MCC source file or one of the associated MCC charts is the active
window in the Workbench.
Select one of the following menu commands:
– Transfer and compile button in the MCC source file or MCC editor toolbar
– MCC source file > Transfer and compile menu item or MCC chart > Transfer and
compile menu item
Alternative way of saving and compiling:
● Select the MCC source file or an MCC chart in the project navigator; then, in the shortcut
menu, select Transfer and compile.
NOTICE
Pay attention to the order of the MCC charts in an MCC source file. A subroutine
(function or function block) must be defined before it is used. This is the case when the
MCC chart of the subroutine appears above the chart in which it is used in the project
navigator If necessary, reorder the charts (see Specifying the order of MCC charts in the
MCC source file (Page 47)).
The Transfer and compile command transfers the changes in the MCC source file and
associated MCC charts to the project only. The data, together with the project, is only
saved to the data carrier if you select Project > Save, Project > Save and compile all or
Project > Save and recompile all.
You can also save (export) an MCC source file outside the project (see Exporting and
importing an MCC source file (Page 37)).
Error messages and warnings relating to compilation are displayed in the Compile/check
output tab in the detail view.
Note
If certain commands (for example, Synchronous Start, Uninterruptible Variable Assignment)
are included in the MCC chart, UserInterruptTask_1 must be configured in the execution
system in order to ensure error-free compilation. You must program the error reactions to
these commands in UserInterruptTask_1.
If you receive an applicable error message, proceed as follows:
1. Insert an MCC chart for a program, and program the appropriate error reactions.
2. Assign the program to UserInterruptTask_1.
Proceed as follows
Follow these steps:
1. Select the MCC source file in the project navigator.
2. In the context menu, select the appropriate item (Cut, Copy, or Delete).
Procedure
To paste a cut or copied MCC source file, proceed as follows:
1. Under the SIMOTION device, select the PROGRAMS folder.
2. In the context menu, select Insert.
The MCC unit is pasted (with a different name, if necessary).
3. Change the name, if necessary (see Renaming MCC source files (Page 39)).
Note
MCC charts from know-how-protected MCC units cannot be exported as plain text files (as
an MCC chart or ST source file). However, they can still be exported in XML format.
See also
Exporting an MCC source file as an ST source file (Page 37)
Exporting an MCC source file in XML format (Page 38)
Importing an MCC source file from XML data (Page 38)
Procedure
You can export an MCC source file as a text file for the SIMOTION ST (Structured Text)
programming language. You can either import this file as an ST source file or edit it with any
ASCII editor.
1. Select the MCC unit in the project navigator.
2. Select the Export as ST command in the context menu.
3. Select the directory and file name.
Note
Text files for the ST programming language cannot be imported as MCC source files.
Know-how-protected MCC units cannot be exported as plain text files (as an ST source
file). However, they can still be exported in XML format.
Proceed as follows
This operation allows you to save an MCC source file in encoded form in a directory outside
the project.
1. Select the MCC source file in the project navigator.
2. Select Expert > Save Project and Export Object in the context menu.
3. Select the directory for the XML export and confirm withOK.
NOTICE
MCC in SIMOTION SCOUT Version 3.2 and higher permits structures (e.g., multiple
charts in one source file, source-file-internal unit variables) that are not supported in
earlier versions.
Note
Know-how-protected MCC source files can also be exported in XML format. The know-
how protection is retained when the files are imported.
Procedure
This operation allows you to import MCC units that were exported as encoded files in XML
format.
1. In the project navigator, select the PROGRAMS folder.
2. In the context menu, select the Import object command.
3. Select the XML data to be imported.
The entire project is saved and recompiled.
Note
Individual objects (e.g. MCC units) from a project that was exported as XML data cannot be
imported selectively.
See also
Inserting a new MCC source file (Page 32)
Proceed as follows
The properties of an MCC source file are already defined when you insert it. However, these
properties can be viewed and modified by doing the following:
1. Select the MCC source file in the project navigator.
2. In the shortcut menu, select Properties.
Procedure
1. Select the menu Tools > Settings.
2. Select the Compiler tab.
3. Define the settings according to the following table.
4. Confirm with OK.
Parameter
For a description of the parameters of the global compiler settings, refer to SIMOTION ST
Programming and Operating Manual.
Procedure
To select the compiler options, proceed as follows:
1. Open the Properties window for the MCC unit (see Properties of an MCC unit (Page 39)).
2. Select the Compiler tab.
3. Enter settings.
4. Click OK to confirm.
Figure 3-6 Local compiler settings for MCC source files in the Properties window
The current compiler options (the combination of global and local compiler settings which
currently applies) for the program source are displayed on the Additional settings tab. The
compiler options used the last time the program source was compiled can be seen on the
Compilation tab.
(See the SIMOTION ST Programming and Operating Manual.)
The SIMOTION ST Programming and Operating Manual contains additional information on
what the compiler options mean.
Parameter Description
Ignore global settings See the description under Effectiveness of global or local settings (see the SIMOTION ST
Programming and Operating Manual).
Suppress warnings In addition to error messages, the compiler can output warnings. You can set the scope of
the warning messages to be output:
Active: The compiler outputs the warning messages according to the selection in the global
settings of the warning classes. The checkboxes of the warning classes can no longer be
selected.
Inactive: The compiler outputs the warning messages according to the warning classes
(see the SIMOTION ST Programming and Operating Manual) selected.
Warning classes1 Only for Suppress warnings = inactive.
Active: The compiler outputs warning messages of the selected class.
Inactive: The compiler suppresses warning messages of the respective class.
Grey background: The displayed global setting is adopted (only for Ignore global settings =
inactive).
For the meaning of warning classes, see the SIMOTION ST Programming and Operating
Manual.
Note: If "Suppress warnings" is active, the checkboxes can no longer be selected and show
as activated against a gray background.
Selective linking1 Active: Unused code is removed from the executable program.
Inactive: Unused code is retained in the executable program.
Grey background: The displayed global setting is adopted (only for Ignore global settings =
inactive).
Use preprocessor1 Active: The preprocessor is used (see the SIMOTION ST Programming Manual).
Inactive: Preprocessor is not used.
Grey background: The displayed global setting is adopted (only for Ignore global settings =
inactive).
Enable program status1 Active: An additional program code is generated to enable monitoring of program variables
(including local variables) (see Program status (Page 556)).
Inactive: Program status not possible.
Grey background: The displayed global setting is adopted (only for Ignore global settings =
inactive).
Permit language extensions1 Active: Language elements are permitted that do not comply with IEC 61131-3.
• Direct bit access to variables of a bit data type (see the SIMOTION ST Programming
and Operating Manual).
• Accessing the input parameters of a function block when outside the function block (see
the SIMOTION ST Programming and Operating Manual).
• Calling a program while in a different program (see the SIMOTION ST Programming
and Operating Manual).
Inactive: Only language elements are permitted that comply with IEC 61131-3.
Grey background: The displayed global setting is adopted (only for Ignore global settings =
inactive).
Parameter Description
Only create program Active: The local variables of a program are only stored once in the user memory of the
instance data once1 unit. This setting is required when calling a program while in a different program (see the
SIMOTION ST Programming and Operating Manual).
Inactive: The local variables of a program are stored according to the task assignment in
the user memory of the respective task.
Grey background: The displayed global setting is adopted (only when Ignore global settings
= inactive).
See Memory areas for the variable types (see the SIMOTION ST Programming and
Operating Manual).
For further information, refer to the SIMOTION Basic Functions Function Manual.
Enable OPC-XML Active: Symbol information for the unit variables of the ST source file is available in the
SIMOTION device (required for the _exportUnitDataSet and _importUnitDataSet functions,
see the SIMOTION Basic Functions Function Manual).
Inactive: Symbol information is not created.
Permit single step2 When active, additional program code is generated which enables individual program steps
to be monitored.
This function facilitates debugging of your program.
See Tracking individual program steps (Page 553).
1 Global setting is also possible ( Options > Settings > Compiler menu), see Global compiler settings (Page 40). See also
the description on Effectiveness of global or local compiler settings (see the SIMOTION ST Programming and Operating
Manual).
2 Global setting is also possible ( Options > Settings > MCC Editor menu), see MCC Editor settings (Page 29). See also
the description on Effectiveness of global or local compiler settings (see the SIMOTION ST Programming and Operating
Manual).
Procedure
To insert a new MCC chart using the menu, proceed as follows:
1. The MCC source file must already exist.
2. Select the relevant MCC source file in the project navigator.
3. Select the Insert > Program > MCC chart command from the menu.
4. Enter the name of the MCC chart (see Rules for identifiers (Page 91)).
5. For creation type, select Program. For creation types Function or Function block, see
subroutine (Page 139).
6. Enable the Exportable checkbox if you would also like the program to be available in
other program source files (LAD/FBD, MCC or ST source files) or in the execution system
(see Assigning programs to a task (Page 537)).
7. You can also enter an author, version, and a comment.
8. Click OK to confirm.
NOTICE
When you click OK, the MCC chart will only be transferred to the project. The data,
together with the project, is only saved to the data carrier if you select Project > Save,
Project > Save and compile all or Project > Save and recompile all.
Figure 3-8 New MCC chart with declaration table and starting and end nodes
See also
Keywords for variable types (Page 103)
Proceed as follows
Follow these steps:
1. Select the MCC chart in the project navigator.
2. In the context menu, select the appropriate item (Cut, Copy, or Delete).
Proceed as follows
Proceed as follows to paste a cut or copied MCC chart:
1. Select an MCC source file in the project navigator.
2. In the context menu, select Insert.
The MCC chart is inserted with a different name.
3. Change the name, if necessary (see Renaming MCC charts (Page 50)).
3.3.7 Specifying the order of MCC charts in the MCC source file
The order of the MCC charts in the MCC source file is important for compilation. A POU
(e.g., a function) must be defined before it is used.
Proceed as follows
To change the order:
1. Select an MCC chart in the project navigator.
2. In the shortcut menu, select Up/Down.
Procedure
1. Select the MCC chart in the project navigator.
2. Select the Export as XML command in the context menu.
3. Select the directory for the XML export and confirm withOK.
NOTICE
MCC in SIMOTION SCOUT Version 3.2 and higher permits structures (e.g., multiple
charts in one source file, source-file-internal unit variables) that are not supported in
earlier versions.
Note
Know-how-protected MCC charts can also be exported in XML format. The know-how
protection is retained when the files are imported.
Procedure
1. Select the MCC unit in the project navigator.
2. In the context menu, select the Import MCC Chart > From MCC Format command.
3. Select the XML data to be imported.
Note
Individual objects (e.g., MCC charts) that were exported as XML data cannot be imported
selectively.
See also
Inserting a new MCC chart (Page 44)
Proceed as follows
1. Select the relevant MCC source file in the project navigator.
2. In the context menu, select Import MCC Chart > From MCC Format.
3. Select the directory and file name (name.mcc).
The dialog window for inserting an MCC chart is displayed.
4. Enter the name of the MCC chart in the project.
If the existing technology objects do not match the MCC chart to be imported, it is possible to
create them later.
Proceed as follows
The properties of an MCC chart are already defined when you insert it. However, these
properties can be viewed and modified by doing the following:
1. Select the MCC chart in the project navigator.
2. In the shortcut menu, select Properties.
Motion commands
Motion commands are executed based the transition behavior and step enabling conditions
that are selected in the parameter screen forms.
Motion commands can be issued from all tasks.
The overall status of an axis motion is recorded in the system and can be queried at any
time using system variables. A command can be waiting, active, or inactive.
wait commands
Execution of the task is delayed until the programmed event (that is, the condition) occurs.
The program is not executed again cyclically, and the task does not require any processor
time. All other tasks continue to run unaffected.
The events are scanned in the interpolator cycle clock (IPO cycle clock). If the appropriate
event occurs, the highest-priority task in its own level is continued. In the case of
MotionTasks, the subsequent motion command is executed in the following IPO cycle clock.
Each of these groups is represented by a button on the toolbar. The list of commands is
displayed when you move the cursor over the button; you can insert the appropriate
command by clicking it with the left mouse button.
6HOHFWEXWWRQWRRSHQWKHOLVWRIFRPPDQGV
,QVHUWDFRPPDQGIURPWKHFRPPDQGOLVW
You can detach the displayed command list using the cursor and place it anywhere on the
screen. It will then be easily accessible while you are creating your program.
If all of the command lists have been detached, every command can be inserted in the MCC
chart with one click. The figure below shows a working window with an MCC chart and
opened command lists.
Figure 4-4 Opened command lists in the Workbench making every command available with one mouse click
The command that is selected and thus programmed is always inserted after the highlighted
command.
Note
The selection of command groups or command lists available for the MCC editor function bar
depends on which technology packages are currently selected for the SIMOTION device. To
select the required technology packages, highlight the relevant SIMOTION device in the
project navigator and choose the Select Technology Packages command in the context
menu.
For example, the command list Commands for path interpolation is only available as of the
PATH Version 4.1 technology package.
Color Commands
Light blue Basic commands
White Subroutines and module creation
Green Start commands
Red Stop commands
The figure below shows how most of the commands are represented in an MCC chart. The
symbolic representation of commands makes it immediately obvious that axis_1 is being
positioned. You can modify the brief comment if desired.
Brief comment
The brief comment is used to document the MCC chart or the command. It is preset with the
name of the relevant command. Clicking the text allows you to change it, if necessary.
There is no maximum text length. The text length that can be displayed on the screen is
dependent on the following factors:
● Font size and type
● Screen resolution
Command comment
You can enter an additional comment for each command:
● Select the required command in the MCC chart.
● In the context menu, select Enter comment.
● Enter the text of the comment in the displayed window.
● Click OK to confirm.
If a command comment is present, a green indicator appears at the top right of the
command.
Comment block
In addition, there is also a separate command for entering comments (see Comment block
(Page 209)).
Note
The user is not able to change this number.
A number that is freed up after deletion of a command is reassigned only after the MCC
chart has been saved and closed and then reopened.
Note
If you delete a command by mistake, you can undo the delete operation. Select the Edit >
Undo menu command.
If you copy a control structure, all of the commands it contains and their parameters are also
copied. The same applies when Delete, Cut, or Paste is used.
4.3.8 Undo/redo
All actions can be undone in reverse order. Select the Edit > Undo menu command or the
Undo button.
NOTICE
The following actions cannot be undone:
• Save
• Accept and compile
If you want to redo one or more undone actions, use the Edit > Redo menu command or the
Redo button.
Modules are used to structure the MCC chart. Modules comprise a number of interrelated
commands that are joined to make one single command. This feature allows even complex
MCC charts to be structured in a clear, easily readable fashion.
A module can contain all types of commands. You can also nest modules and copy them for
multiple use in different charts.
Programming sections to be included in multiple programs (MCC charts) must be swapped
out as subroutines (see Subroutine (Page 139)).
See also
Procedure for creating a module (Page 61)
Opening and closing a module (Page 62)
Canceling a module (Page 62)
Changing the module structure (Page 62)
6HOHFWHGFRPPDQGV
Figure 4-6 Combining existing commands to create a module
6KRUWFXWPHQX
If there are many commands, the layout of the parameter screen form (presentation and
selection options) depends on:
● Configuration data and system variables of the selected technology object (seeExpert tab
(Page 79))
● Entries you have already made in the parameter screen form Read the note about the
table in Selection list (combo box) (Page 65).
Note
Not all of the options listed here are available in every case.
Note the following regarding the "preassigned value" and "last programmed" selection
options: If the display of additional fields in the parameter screen form depends on this entry,
these fields may not be displayed or some selection options may not be available.
Note
When you select "%" in the "Unit" selection field: note that the value entered represents a
percentage of the associated preassigned value.
See also
Using a technology object-type variable (Page 68)
4.4.2.4 Unit
Here you can select what the value in the adjacent editable selection list represents. The
following are available:
● The unit of the physical quantity defined during configuration of the technology object
The value in the adjacent field represents a physical quantity with the indicated unit.
● "%" (percentage)
The value in the adjacent field represents a percentage of the associated preassigned
value.
Procedure
1. Define a technology object-type variable in the MCC chart declaration table by specifying
the "posAxis" data type (see Description of the technology objects data types
(Page 101)). This means that a positioning axis-type technology object can be assigned
to the variable during the program runtime.
2. Drag & drop the "homing axis" into the MCC chart.
3. Double-click on the command.
The parameter screen form opens.
4. Select the defined variable in the "axis" dialog box.
The variable is thus assigned to the command as a place holder for a position axis. Since
a variable has been assigned to the command, and not a technology object, the TO
properties, e.g. the encoder type, can be changed in the "Expert" tab.
5. Select the "Expert" tab.
The variable default settings that influence the parameter screen form (design and/or
selection options) are displayed in the "TO properties" list, for example, the default
"Incremental" appears in the "Value" column for the encoder type, i.e. an incremental
encoder is preset.
Based on the default "Incremental", only the homing types for an incremental encoder are
available for selection in the "Homing type" dialog box in the "Parameter" tab. In order to
select the homing types for an absolute encoder, the encoder type must be changed to
absolute encoder beforehand.
6. In the "TO properties" list, select the entry "Absolute" or "Absolute cyclic" from the pull-
down list under "Value" in the encoder type row.
The encoder type is changed from incremental encoder to absolute encoder.
Procedure
1. Define a technology object-type variable in the MCC chart declaration table by specifying
the "outputCamType" data type (see Description of the technology objects data types
(Page 101)). This means that a "cam"-type technology object can be assigned to the
variable during the program runtime.
2. Drag & drop the "Switch output cam on" into the MCC chart.
3. Double-click on the command.
The parameter screen form opens.
4. Select the entry "<Reference>" in the "Axis/encoder" dialog box, as the output cam is
predefined as a reference (variable), and not as a technology object.
Thus, the variable is assigned to the command as a place holder for an output cam in the
"Output cam" dialog box. Since a variable has been assigned to the command, and not a
technology object, the TO properties, e.g. the output cam type, can be changed in the
"Expert" tab.
Figure 4-13 Parameter screen form: Switch output cam on for linear axis and position-based cam
Figure 4-14 Parameter screen form: Switch output cam on for rotary axis and time-based cam
Overview of parameters
Field/Button Explanation/Instruction
Velocity profile The velocity profile is used to specify the transitions between the
individual motion phases. The velocity profile influences the motion
transitions as follows:
• At the start and end of the acceleration phase, the transition to the
constant acceleration or constant velocity phase
• At the start and end of the deceleration phase, the transition to the
constant deceleration or constant velocity phase
Select the velocity profile.
Trapezoidal
A trapezoidal velocity profile is in effect for the command. Only the
acceleration and deceleration can be programmed.
Constant
The velocity profile with smooth acceleration characteristic is in effect for
the command. The change in acceleration/deceleration (jerk) can be
verified.
With the Gearing on command (Gearing on (Page 416)), a constant
velocity profile only takes effect if configuration data
syncingMotion.smoothAbsoluteSynchronization = YES is set.
Preassigned value
Last programmed
See Selection list (combo box) (Page 65)
The system variable for the preassigned value is given together with the
description of each command.
Acceleration The acceleration value during the constant acceleration phase.
Enter the value in the editable selection list (see Editable selection list
(editable combo box) (Page 66)).
Preassigned value
Last programmed
See Selection list (combo box) (Page 65)
The meaning depends on the acceleration model used, which can be
selected via the configuration data
TypeOfAxis.DecodingConfig.directionDynamic:
• Non-direction-based acceleration model
TypeOfAxis.DecodingConfig.directionDynamic = NO (default)
The value causes acceleration in the motion of the axis, independent
of the direction of motion.
• Direction-based acceleration model
TypeOfAxis.DecodingConfig.directionDynamic = YES
The value causes acceleration when the direction of rotation is
positive and deceleration when the direction of rotation is negative.
For additional information on specifying the acceleration and deceleration
(acceleration model), see the TO Axis Electric/Hydraulic Function Manual.
The system variable for the preassigned value is given together with the
description of each command.
Field/Button Explanation/Instruction
Deceleration Deceleration value during the constant deceleration phase
Enter the value in the editable selection list (see Editable selection list
(editable combo box) (Page 66)).
Preassigned value
Last programmed
See Selection list (combo box) (Page 65)
The meaning depends on the acceleration model used, which can be
selected via the configuration data
TypeOfAxis.DecodingConfig.directionDynamic:
• Non-direction-based acceleration model
TypeOfAxis.DecodingConfig.directionDynamic = NO (default)
The value causes deceleration in the motion of the axis, independent
of the direction of motion.
• Direction-based acceleration model
TypeOfAxis.DecodingConfig.directionDynamic = YES
The value causes deceleration when the direction of rotation is
positive and acceleration when the direction of rotation is negative.
For additional information on specifying the acceleration and deceleration
(acceleration model), see the TO Axis Electric/Hydraulic Function Manual.
The system variable for the preassigned value is given together with the
description of each command.
Jerk Only active with constant velocity profile.
Change in acceleration or deceleration
• At acceleration start
• At acceleration end
• At deceleration start
• At deceleration end
The two jerk values for acceleration and deceleration always relate,
irrespective of the acceleration model selected, to the parameter
(acceleration or deceleration) to which they are assigned via the
Dynamics tab.
Enter the value in the editable selection list (Editable selection list
(editable combo box) (Page 66)).
Preassigned value
Last programmed
See Selection list (combo box) (Page 65)
The system variable for the preassigned value is given together with the
description of each command.
Velocity Not always included in the Dynamics tab.
Velocity value during the constant velocity phase
Enter the value in the editable selection list (see Editable selection list
(editable combo box) (Page 66)).
Preassigned value
Last programmed velocity
Current
See Selection list (combo box) (Page 65)
The system variable for the preassigned value is given together with the
description of each command.
Field/Button Explanation/Instruction
Constant traversing time Only for the Start axis position-controlled and Speed specification
commands.
A time limit can be programmed for this command.
• Select the check box if the movement of the axis is to be time limited.
If you do not select the check box, the axis moves until it receives a
new command.
• Enter the duration of the constant motion phase (from the end of
acceleration up to the start of deceleration). At the end of this time, the
axis is decelerated until its speed reaches 0.
If no time is specified, then the axis moves until it receives a new
command.
See also input field (Page 65)
Time for deceleration Only for the Stop Axis command
Duration of braking operation for a quick stop within a defined time period
Enter the value in the editable selection list (selection list (combo box)
(Page 65)).
Preassigned value
Last programmed
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefaultDynamics.stopTime
Overview of parameters
Field/Button Explanation/Instruction
CommandID variable The status of many motion commands can be tracked using the unique,
project-wide CommandId.
• If you enter the name of a variable of data type CommandIdType, you
can track the command status with this variable. The variables of this
data type that were declared previously in the MCC source file or MCC
chart are available for selection.
– When the Assign value check box is selected, a unique project-wide
CommandId is automatically generated, stored in the variables, and
transferred to the command.
You can use the stored CommandId to track the command status
until the command has been completed properly or has been
aborted.
– When the Assign value check box is cleared, only the variable is
transferred to the command. You must take steps to ensure that a
unique project-wide CommandId is stored in the variable. You obtain
the CommandId with the _getCommandId system function.
In addition, you can buffer the CommandId in this case so that it is
available even after the command has been completed.
• If you leave the field empty, the CommandID is not assigned to any
variables; this means that you cannot access the CommandID (default).
When the field is empty, the Assign value check box must be selected.
TO properties The technology object configuration data or system variables that affect the
parameter screen form (presentation or selection options) are displayed in
the "TO properties" list (see "TO properties list" table below).
If you have selected a variable of the technology object data type (see
Description of the technology object data types (Page 101)) as the
technology object (e.g. in a library), you can select a value in order to adapt
the parameter screen form to the properties of the technology object (see
Using a variable of the technology object data type (Page 68)).
This selection does not change the configuration data or system variables
of the technology object.
Return variable Many commands are mapped onto one or more system functions
(command steps). These usually have a return value that provides
information to the user on the result of the system function.
For each command step, you can specify a return variable in which the
respective return value is stored:
• When you enter the name of a variable of the specified data type, the
return value of the command step is stored in this variable. The
variables of this data type that were declared previously in the MCC
source file or MCC chart are available for selection.
A reference to the documentation describing the meaning of the
individual values is given for each command.
• If you leave the field empty, the return value of the command step is
assigned to an internal variable that you cannot access (default).
See also Relevant system function, system variable or command in the ST
programming language (Page 85) and Return values. (Page 86)
Field/Button Explanation/Instruction
Parameter Indicates the name of the field for the technology object whose
configuration data or system variables affect the parameter dialog box.
Object Indicates the technology object selected in the parameter dialog box.
Property Name Indicates the configuration datum or system variable affecting the
parameter dialog box.
Plain text Indicates the meaning of the configuration data or system variable.
Value The behavior depends on whether the technology object is defined on the
SIMOTION device or whether it is a variable of the data type of a
technology object:
• If the technology object is defined on the SIMOTION device:
The value defined during configuration is indicated.
• If the technology object is a variable of the data type of a technology
object:
You can select a value from among the values of the enumeration
data type of the configuration datum or the system variable.
The parameter dialog box is presented according to the selected
value.
This selection does not affect the configuration data or system
variables of the technology object.
See also
Gearing on (Page 416)
Note
You can query the current status of the axis by means of system variables. For a selection
with corresponding values, see Axis status (Page 187).
7UDQVLWLRQEHKDYLRU $WWDFK
'HOD\SURJUDPH[HFWLRQ 0RWLRQILQLVKHG
7UDQVLWLRQEHKDYLRU $WWDFK
'HOD\SURJUDPH[HFWLRQ 6SHHGUHDFKHG
7UDQVLWLRQEHKDYLRU $WWDFK
'HOD\SURJUDPH[HFWLRQ 0RWLRQILQLVKHG
9HORFLW\WLPHFKDUW
Y
$[LVB
$[LVB $[LVB
W
$[LVBVWDUWVZKHQ$[LVBKDVUHDFKHG
WKHSURJUDPPHGVSHHG
$[LVBVWDUWVZKHQ$[LVBKDVILQLVKHG
LWVPRWLRQ
Note
The status of a motion command can be queried using the CommandID variables (see
Expert tab (Page 79)). This may be necessary, in particular, if a transition to the next
command is made before a motion has been completed (Delay program execution
parameter is deactivated or set to an appropriate value, such as Motion Start, Velocity
Reached).
The following system functions can be used for this purpose:
• For querying single axis commands:
_getStateOfAxisCommand
_getMotionStateOfAxisCommand
• For querying commands for synchronous operation and camming:
_getStateOfFollowingObjectCommand
_getMotionStateOfFollowingObjectCommand
For a description of the functions, refer to the SIMOTION Cam Technology Package, System
Functions, Parameter Manual.
ST commands can be programmed using the System Function Call (System Function Call
(Page 194)) or ST Zoom (ST Zoom (Page 199)) commands, for example.
Note
When a syntax check is performed on an MCC command, the declaration tables in the MCC
chart and the MCC source file are also read. Inconsistent data within the declaration tables
may therefore cause unexpected error messages during parameter assignment.
4.4.9.1 Return value for the system functions of the technology packages
The return values for the system functions of the Cam, Path and Cam_EXT technology
packages are described in the table.
Table 4- 5 Description of return value for Cam, Path and Cam_EXT technology package functions
System variables
Variables with technology object data types are always initialized with TO#NIL.
For variables of data type followingAxis, select the associated synchronous object (variable
of data type followingObjectType).
4.5.4.3 Comments
A comment can be entered in this column. It may contain any characters or special
characters.
4.6.1 General
A data type is used to determine how the value of a variable or constant in a program source
file is to be used.
The following data types are available to the user:
● Elementary data types
● User-defined data types (UDT)
– Enumerators
– Structures (Struct)
● Technology object data types
● System data types
Table 4- 7 Bit widths and value ranges of the elementary data types
NOTICE
During variable export to other systems, the value ranges of the corresponding data types
in the target system must be taken into account.
See also
Value range limits of elementary data types (Page 96)
General data types (Page 97)
Elementary system data types (Page 98)
Table 4- 8 Symbolic constants for the value range limits of elementary data types
Note
You cannot use general data types as type identifiers in variable or type declarations.
The general data type is retained when a user-defined data type (UDT) is derived directly
from an elementary data type (only possible with the SIMOTION ST programming language).
Table 4- 11 Symbolic constants for invalid values of elementary system data types
Example
This example shows the definition of an enumeration data type with the name Color and the
enumeration elements Red, Blue, and Green, as well as the initialization value (initial value)
Green.
If there is no initialization entered during the enumeration definition (data type declaration),
the first value of the enumeration is assigned to the data type. In this example, Red would be
used for the initialization because it is defined as the first enumeration element.
Table 4- 13 Symbolic constants for invalid values of technology object data types
4.7 Variables
Variables are an important component of programming and provide structure to programs.
They are placeholders which can be assigned values that can be accessed several times in
the program.
Variables have:
● A specific initialization behavior and scope of validity
● A data type and operations which are defined for that data type
User and system variables are differentiated. User variables can be defined by the user.
System variables are provided by the system.
Definition of variables
You can now access this variable using the symbol browser or any program of the
SIMOTION device.
In ST source files, you can use a global device variable, just like any other variable.
Note
If you have declared unit variables or local variables of the same name (e.g. var-name),
specify the global device variable with _device.var-name.
An alternative to global device variables is the declaration of unit variables in a separate unit,
which is imported into other units. This has the following advantages:
1. Variable structures can be used.
2. The initialization of the variables during the STOP-RUN transition is possible (via
Program in StartupTask).
3. For newly created global unit variables, a download in RUN is also possible.
Please refer to the SIMOTION Basic Functions Function Manual.
Proceed as follows; the source file (declaration table) is open (see Open existing program
source file (Page 34)):
1. In the declaration table, select the section for the desired scope.
2. Then select the Parameters tab.
3. Enter:
– Name of the variable
– Variable type
See also: Keywords for variable types (Page 103)
– Data type of the variable
You can select elementary data types (see Elementary data types (Page 94)); other
data types must be entered in the appropriate field.
See also:
Defining structures (Page 99)
Defining enumerations (Page 100)
– Optional array length (to define the array size)
See also: Array length and array element (Page 92)
– Optional initial value (initialization value
See also: Initial value (Page 93)
The variable is now declared and can be used immediately.
Note
The declaration table of the source file is read each time parameters are assigned for a
command. Inconsistent data within the declaration table can therefore cause unexpected
error messages during parameter assignment.
Note
The declaration table of the program/chart is read each time parameters are assigned for a
command. Inconsistent data within the declaration table can therefore cause unexpected
error messages during parameter assignment.
Note
You can upload values of unit variables or global device variables from the SIMOTION
device into SIMOTION SCOUT and save them in XML format.
1. Save the required data segments of the unit variables or global device variables as a data
set with the function _saveUnitDataSet.
2. Use the Save variables function in SIMOTION SCOUT.
You can use the Restore variables function to download these data sets and variables back
to the SIMOTION device.
For more information, refer to the SIMOTION SCOUT Configuration Manual.
This makes it possible, for example, to obtain this data, even if it is initialized by a project
download or if it becomes unusable (e.g. due to a version change of SIMOTION SCOUT).
See also
Initialization of retentive global variables (Page 109)
Initialization of non-retentive global variables (Page 111)
Initialization of local variables (Page 113)
Initialization of static program variables (Page 114)
Initialization of instances of function blocks (FBs) (Page 115)
Initialization of system variables of technology objects (Page 116)
Version ID of global variables and their initialization during download (Page 117)
Note
You can obtain information about the memory requirements of a POU in the local data stack
using the Program Structure (Page 160) function.
Note
You can obtain information about the memory requirements of a POU in the local data
stack using the Program Structure (Page 160) function.
Data segment As of Version V3.2 of the SIMOTION kernel Up to Version V3.1 of the
SIMOTION kernel
Global device variables
Retentive global • Separate version ID for each data segment of the global • Common version ID for all data
device variables device variables. segments of the global device
• The version identification of the data segment changes variables.
Non-retentive
global device for: • This version ID changes when
variables – Add or remove a variable within the data segment the variable declaration is
changed in a data segment.
– Change of the identifier or the data type of a variable
within the data segment • During downloading2, the rule
is: Initialization of all data
• This version ID does not change on: segments if the version ID
– Changes in the other data segment changes.
– Changes to initialization values1 • Use of the functions for data
• During downloading2, the rule is: Initialization of a data backup not possible.
segment only if its version ID has changed.
• Use of the functions for data backup and initialization
possible.
Data segment As of Version V3.2 of the SIMOTION kernel Up to Version V3.1 of the
SIMOTION kernel
Unit variables of a unit
Retentive unit • Several data blocks ( = declaration blocks)3 in each data • One data block in each data
variables in the segment possible. segment (also for several
interface section • Own version ID for each data block. declaration blocks)3
Retentive unit • The version identification of the data block changes for: • Common version ID for all
variables in the global declarations in a unit.
– Add or remove a variable in the associated
implementation declaration block • This version ID changes in
section response to the following
– Change of the identifier or the data type of a variable changes:
Non-retentive unit in the associated declaration block
– Variable declaration in a
variables in the – Change of a data type definition (from a separate or data segment
interface section imported4 unit) used in the associated declaration
block – Declaration of global data
Non-retentive unit types in the unit
variables in the – Add or remove declaration blocks within the same
data segment before the associated declaration block – Declaration in the interface
implementation
section of an imported4 unit.
section • This version ID does not change on:
• During downloading2, the rule
– Add or remove declaration blocks in other data is: Initialization of all data
segments segments if the version ID
– Add or remove declaration blocks within the same changes.
data segment after the associated declaration block • Use of the functions for data
– Changes in other data blocks backup only possible for: Non-
– Changes to initialization values1 retentive unit variables in the
interface section
– Changes to data type definitions that are not used in
the associated data block
– Changes to functions
• During downloading2, the rule is: Initialization of a data
block only if its version ID has changed.5
• Functions for data backup and initialization take into
account the version ID of the data blocks.
1 Changed initialization values are not effective until the data block or data segment in question is initialized.
2If Initialization of all retentive global device variables and program data = No and Initialization of all non-retentive global
device variables and program data = No.
In the case of other settings: See the sections "Initialization of retentive global variables (Page 109)" and "Initialization of
non-retentive global variables (Page 111)".
3Several declaration blocks per data segment are possible only in the SIMOTION ST programming language. For the
SIMOTION MCC and SIMOTION LAD/FBD programming languages, only one declaration block per data segment will be
created.
4 The import of units depends on the programming language, refer to the associated section (Page 136).
5Also for the download in RUN, provided the associated prerequisites have been satisfied and the following attribute has
been specified in the associated declaration block within a pragma (only for the SIMOTION ST programming language): {
BlockInit_OnChange := TRUE; }.
For the download in RUN, see the SIMOTION Basic Functions Function Manual.
Note
An access via the process image is more efficient than direct access.
Properties
Direct access to inputs and outputs and access to the process image of the cyclic task
always take place via I/O variables. The entire address range of the SIMOTION device (see
table below) can be used.
A comparison of the most important properties, also in comparison to the fixed process
image of the BackgroundTask (Page 128) is contained in "Important properties of direct
access and process image (Page 120)".
Direct access
The direct access is used to directly access the corresponding I/O address. Direct access is
used primarily for sequential programming (in MotionTasks). The access to the current value
of the inputs and outputs at a specific time is particularly important.
For direct access, you define an I/O variable (Page 125) without assigning it a task.
Note
An access via the process image is more efficient than direct access.
Table 4- 20 Address range of the SIMOTION devices depending on the version of the
SIMOTION kernel
PROFINET segment.
Note
Observe the rules for I/O addresses for direct access and the process image of the cyclical
tasks (Page 124).
4.8.3.1 Rules for I/O addresses for direct access and the process image of the cyclical tasks
NOTICE
You must observe the following rules for the I/O variable addresses for direct access and
the process image of the cyclic task (Page 122). Compliance with the rules is checked
during the consistency check of the SIMOTION project (e.g. during the download).
1. Addresses used for I/O variables must be present in the I/O and configured
appropriately in the HW Config.
2. I/O variables comprising more than one byte must not contain addresses 63 and 64
contiguously.
The following I/O addresses are not permitted:
– Inputs: PIW63, PID61, PID62, PID63
– Outputs: PQW63, PQD61, PQD62, PQD63
3. All addresses of an I/O variable comprising more than one byte must be within an
address area configured in HW-config.
4. An I/O address (input or output) can only be used by a single I/O variable of data type
BYTE, WORD or DWORD or an array of these data types. Access to individual bits with
I/O variables of data type BOOL is possible.
5. If several processes (e.g. I/O variable, technology object, PROFIdrive telegram) access
an I/O address, the following applies:
– Only a single process can have write access to an I/O address of an output (BYTE,
WORD or DWORD data type).
Read access to an output with an I/O variable that is used by another process for
write access, is possible.
– All processes must use the same data type (BYTE, WORD, DWORD or ARRAY of
these data types) to access this I/O address. Access to individual bits is possible
irrespective of this.
Please be aware of the following, for example, if you wish to use an I/O variable to
read the PROFIdrive telegram transferred to or from the drive: The length of the I/O
variables must match the length of the telegram.
– Write access to different bits of an address is possible from several processes;
however, write access with the data types BYTE, WORD or DWORD is then not
possible.
Note
These rules do not apply to accesses to the fixed process image of the BackgroundTask
(Page 128). These accesses are not taken into account during the consistency check of the
project (e.g. during download).
4.8.3.2 Creating I/O variables for direct access or process image of cyclic tasks
You create I/O variables for direct access and a process image of the cyclic tasks in the
symbol browser in the detail view; you must be in offline mode to do this.
Here is a brief overview of the procedure:
1. In the project navigator of SIMOTION SCOUT, select the I/O element in the subtree of the
SIMOTION device.
2. In the detail view, select the "Symbol browser" tab and scroll down to the end of the
variable table (empty row).
3. In the last (empty) row of the table, enter or select the following:
– Name of variable.
– I/O address according to the "syntax for entering I/O addresses (Page 127)".
– Optional for outputs:
Activate the "Read only" checkbox if you only want to have read access to the output.
You can then read an output that is already being written by another process (e.g.
output of an output cam, PROFIdrive telegram).
A read-only output variable cannot be assigned to the process image of a cyclic task.
– Data type of the variables in accordance with "Possible data types of the I/O variables
(Page 128)".
4. Optionally, you can also enter or select the following (not for data type BOOL):
– Array length (array size).
– Process image or direct access:
Can only be assigned if the "Read only" checkbox is cleared.
For process image, select the cyclic task to which you want to assign the I/O variable.
To select a task, it must have been activated in the execution system.
For direct access, select the blank entry.
– Strategy for the behavior in an error situation (see SIMOTION Basic Functions
Function Manual).
– Substitute value (if array, for each element).
– Display format (if array, for each element), when you monitor the variable in the
symbol browser.
You can now access this variable using the symbol browser or any program of the
SIMOTION device.
NOTICE
Note the following for the process image for cyclic tasks:
• A variable can only be assigned to one task.
• Each byte of an input or output can only be assigned to one I/O variable.
In the case of data type BOOL, please note:
• The process image for cyclic tasks and a strategy for errors cannot be defined. The
behavior defined via an I/O variable for the entire byte is applicable (default: direct
access or CPU stop).
• The individual bits of an I/O variable can also be accessed using the bit access
functions.
Take care when making changes within the I/O variables (e.g. inserting and deleting I/O
variables, changing names and addresses):
• In some cases the internal addressing of other I/O variables may change, making all I/O
variables inconsistent.
• If this happens, all program sources that contain accesses to I/O variables must be
recompiled.
Note
I/O variables can only be created in offline mode. You create the I/O variables in SIMOTION
SCOUT and then use them in your program sources (e.g. ST sources, MCC sources,
LAD/FBD sources).
Outputs can be read and written to, but inputs can only be read.
Before you can monitor and modify new or updated I/O variables, you must download the
project to the target system.
You can use I/O variables like any other variable, see "Access I/O variables (Page 134)".
Table 4- 21 Syntax for the input of the I/O addresses for direct access or process image of the cyclic tasks
Examples:
Input at logic address 1022, WORD data type: PIW1022.
Output at logical address 63, bit 3, BOOL data type: PQ63.3.
Note
Observe the rules for I/O addresses for direct access and the process image of the cyclical
tasks (Page 124).
Table 4- 22 Possible data types of the I/O variables for direct access and the process image of the
cyclical tasks
Data type of I/O address Possible data types for I/O variables
BOOL (PIn.x, PQn.x) BOOL
BYTE (PIBn, PQBn) BYTE, SINT, USINT
WORD (PIWn, PQWn) WORD, INT, UINT
DWORD (PIDn, PQDn) DWORD, DINT, UDINT
For details of the data type of the I/O address, see also "Syntax for entering I/O addresses
(Page 127)".
NOTICE
I/O addresses that are accessed with the process image of the cyclic tasks must not be
used. These addresses cannot be read or written to with the fixed process image of the
BackgroundTask.
Note
The rules for I/O addresses for direct access and the process image of the cyclical tasks
(Page 124) do not apply. The accesses to the fixed process image of the BackgroundTask
are not taken into account during the consistency check of the project (e.g. during
download).
Addresses not present in the I/O or not configured in HW Config are treated like normal
memory addresses.
You can access the fixed process image of the BackgroundTask by means of:
● Using an absolute PI access (Page 129): The absolute PI access identifier contains the
address of the input/output and the data type.
● Using a symbolic PI access (Page 131): You declare a variable that references the
relevant absolute PI access.
– A unit variable
– A static local variable in a program.
● Using an I/O variable (Page 133): In the symbol browser, you define a valid I/O variable
for the entire device that references the corresponding absolute PI access.
NOTICE
Please note that if the inputs and outputs work with the little-endian byte order (e.g. the
integrated digital inputs of SIMOTION devices C230-2, C240, or C240 PN) and the
following conditions are fulfilled:
1. The inputs and outputs are configured to an address 0 .. 62.
2. An I/O variable for direct access (data type WORD, INT or UINT) has been created for
these inputs and outputs.
3. You also access these inputs and outputs via the fixed process image of the
BackgroundTask.
then the following is valid:
• Access with the data type WORD supplies the same result via the I/O variable and the
fixed process image of the BackgroundTask.
• The access to the individual bytes with the _getInOutByte function (see SIMOTION
Basic Functions Function Manual) supplies these in the Little Endian order.
• Access to the individual bytes or bits with the fixed process image of the
BackgroundTask supplies these in the Big Endian order.
For information on the order of the bytes Little Endian and Big Endian: Please refer to the
SIMOTION Basic Functions Function Manual.
4.8.4.1 Absolute access to the fixed process image of the BackgroundTask (absolute PI access)
You make absolute access to the fixed process image of the BackgroundTask (Page 128) by
directly using the identifier for the address (with implicit data type). The syntax of the
identifier (Page 130) is described in the following section.
You can use the identifier for the absolute PI access in the same manner as a normal
variable.
Note
Outputs can be read and written to, but inputs can only be read.
4.8.4.2 Syntax for the identifier for an absolute process image access
For the absolute access to the fixed process image of the BackgroundTask (Page 129), use
the following syntax. This specifies not only the address, but also the data type of the access
and the mode of access (input/output).
You also use these identifiers:
● For the declaration of a symbolic access to the fixed process image of the
BackgroundTask (Page 131).
● For the creation of an I/O variables for accessing the fixed process image of the
BackgroundTask (Page 133).
Table 4- 23 Syntax for the identifier for an absolute process image access
Examples
Input at logic address 62, WORD data type: %IW62.
Output at logical address 63, bit 3, BOOL data type: %Q63.3.
NOTICE
Addresses that are accessed with the process image of the cyclic tasks must not be used.
These addresses cannot be read or written to with the fixed process image of the
BackgroundTask.
Note
The rules for I/O addresses for direct access and the process image of the cyclical tasks
(Page 124) do not apply. The accesses to the fixed process image of the BackgroundTask
are not taken into account during the consistency check of the project (e.g. during
download).
Addresses not present in the I/O or not configured in HW Config are treated like normal
memory addresses.
4.8.4.3 Defining symbolic access to the fixed process image of the BackgroundTask
You create symbolic access to the fixed process image of the Background Task in the
declaration table of the source file or the MCC chart or LAD/FBD program (only in the case
of programs). The scope of the symbolic process image access is dependent on the location
of the declaration:
● In the interface section of the declaration table of the source file (INTERFACE):
Symbolic process image access behaves like a unit variable; it is valid for the entire
source file; all MCC charts or LAD/FBD programs (programs, function blocks, and
functions) within the source file can access the process image.
In addition, these variables are available on HMI devices and, once connected, in other
source files (or other units), as well.
The total size of all unit variables in the interface section is limited to 64 Kbytes.
● In the implementation section of the declaration table of the source file
(IMPLEMENTATION):
Symbolic process image access behaves like a unit variable; it is only valid in the source
file; all MCC charts or LAD/FBD programs (programs, function blocks, and functions)
within the source file can access it.
● In the declaration table for the MCC chart or LAD/FBD program (only in the case of
programs):
Symbolic process image access behaves like a local variable; it can only be accessed
within the MCC chart or LAD/FBD program in which it is declared.
No symbolic process image access can be declared in functions or function blocks.
Proceed as follows; the source file or the MCC chart or LAD/FBD program (programs only)
with the declaration table is opened:
1. Select the declaration table and, if applicable, the section of the declaration table for the
desired scope.
2. Select the I/O Symbols tab.
3. Enter:
– Name of symbol (variable name)
– For Absolute ID, the identifier of the absolute process image access (Page 130).
– Data type of symbol (Page 132) (this must agree with the length of the process image
access).
4.8.4.5 Example: Defining symbolic access to the fixed process image of the BackgroundTask
Figure 4-25 Example: Defining symbolic access to the fixed process image of the BackgroundTask
4.8.4.6 Creating an I/O variable for access to the fixed process image of the BackgroundTask
You create I/O variables for access to the fixed process image for the background task in the
symbol browser in the detail view; you must be in offline mode to do this.
Here is a brief overview of the procedure:
1. In the project navigator of SIMOTION SCOUT, select the "I/O" element in the subtree of
the SIMOTION device.
2. In the detail view, select the Symbol browser tab and scroll down to the end of the
variable table (empty row).
3. In the last (empty) row of the table, enter or select the following:
– Name of variable.
– Under I/O address, the absolute PI access according to the "syntax for the identifier
for an absolute PI access (Page 130)"
(exception: The syntax %IXn.x or %QXn.x is not permitted for data type BOOL).
– Data type of the I/O variables according to the "possible data types of the symbolic PI
access (Page 132)".
4. Select optionally the display format used to monitor the variable in the symbol browser.
You can now access this variable using the symbol browser or any program of the
SIMOTION device.
Note
I/O variables can only be created in offline mode. You create the I/O variables in SIMOTION
SCOUT and use them in your program sources.
Note that you can read and write outputs but you can only read inputs.
Before you can monitor and modify new or updated I/O variables, you must download the
project to the target system.
You can use I/O variables like any other variable, see "Access I/O variables (Page 134)".
NOTICE
Consistency is only ensured for elementary data types.
When using arrays, the user is responsible for ensuring data consistency.
Note
If you have declared unit variables or local variables of the same name (e.g. var-name),
specify the I/O variable using _device.var-name (predefined namespace, see the
"Predefined namespaces" table in "Namespaces").
It is possible to directly access an I/O variable that you created as a process image of a
cyclic task. Specify direct access with _direct.var-name or _device._direct.var-name.
If you want to deviate from the default behavior when errors occur during variable access,
you can use the _getSafeValue and _setSafeValue functions (see SIMOTION Basic
Functions Function Manual).
For errors associated with access to I/O variables, see SIMOTION Basic Functions Function
Manual.
Note
Libraries can be created in all programming languages (MCC, ST, or LAD/FBD).
4.9.1.1 Procedure for defining connections to other units (program source files)
Connections to other units (program sources) are defined in the declaration table of the
source file. The mode of action of a connection is dependent on the section of the
declaration table in which it is defined.
● In the interface section of the declaration table:
The imported functions, variables, etc., will continue to be exported to other units and to
HMI devices. This can lead to name conflicts.
This setting is necessary, for example, if unit variables are declared in the interface
section of the source file with a data type that is defined in the imported program source
file.
● In the implementation section of the declaration table:
The imported functions, variables, etc. will no longer be exported.
This setting is usually sufficient.
Proceed as follows; the source file (declaration table) is open (see Open existing program
source files (Page 34)):
1. In the declaration table, select the section for the desired mode of action.
2. Select the Connections tab.
3. For the connection type, select: Program/Unit
4. In the same line, select the name of the unit to be connected:
Units (program sources) must be compiled beforehand.
Note
When programming the subroutine call command (see Inserting and parameterizing
subroutine calls (Page 142)) with a library function or a library function block, the
connection to the library is automatically entered into the declaration table of the program
source file; the name of the library is assigned as the name space. You can also change
the designation of the name space at a later point in time.
4.10 Subroutine
Universal, reusable sections of a program can be created in the form of subroutines.
When a subroutine is called, the program branches from the current task into the subroutine.
The commands in the subroutine are executed. The program then jumps back to the
previously active task.
Subroutines can be called repeatedly, as required, by one or more MCC programs of the
SIMOTION device.
&DOOLQJ0&&FKDUW 6XEURXWLQH
67$57
67$57
(1'
(1'
$SURJUDPFDQEHFDOOHGDVDVXEURXWLQHE\DQRWKHUSURJUDPRUIXQFWLRQ
EORFN)%SURJUDPLQSURJUDP6SHFLILFFRPSLOHURSWLRQVPXVWEHVHW
IRUWKLVVHHEHORZ
NOTICE
The activated "Only create program instance data once" compiler option causes:
• The static variables of the programs (program instance data) to be stored in the user
memory of the program source (unit) (see the SIMOTION ST Programming and
Operating Manual). This also causes the initialization behavior to change (see the
SIMOTION ST Programming and Operating Manual).
• All called programs with the same name use the same program instance data.
See also
Inserting a subroutine call into the MCC chart and assigning parameters (Page 142)
4.10.2 Inserting a subroutine call into the MCC chart and assigning parameters
The Subroutine call command is available on the MCC editor toolbar (Basic commands
command list).
You can use this command to call:
● Functions or function blocks of the same MCC source file or a different program source
file (e.g., MCC source file, ST source file). A program can be called within a different
program or a function block (FB).
● Library functions or library function blocks from a program library.
● Optional programs (of the same MCC unit or a different program source) or library
programs (from a program library). Specific compiler options must be set for this; see
Parameter overview (Page 144).
NOTICE
Pay attention to the order of the MCC charts in an MCC source file. A subroutine (function
or function block) must be defined before it is used. This is the case when the MCC chart of
the subroutine appears above the chart in which it is used in the project navigator If
necessary, reorder the charts.
See also: Subroutine call of the function (FC) (Page 147)
Field/Button Explanation/Instructions
Subroutine type Here, select the subroutine type.
Function(default value)
A function is a calculation subroutine that supplies a defined result as a return
value based on the parameter entered. Functions have no memory beyond the
call.
Function block
A function block is a subroutine that can have several return values. A function
block corresponds to a data type. Instances are defined. They have a memory,
that is, they retain instance data of a function block extending over several calls.
Return values of the call can also be scanned in the instance.
Library function
Function from library.
Library function block
Function block from the library
Program ("program in program")
You also have the option of calling a program within a different program or a
function block.
This requires the following compiler options to be activated (see Global compiler
settings (Page 40) and Local compiler settings (Page 41)):
• "Permit language extensions" for the program source of the calling program or
function block and
• "Only create program instance data once" for the program source of the called
program. The static data of the called program is stored in the user memory of
the program source (unit) of said called program. The same program instance
data is used every time the program is called.
A program is called without parameters or return values.
Library program
Program from library. The same restrictions apply as when calling a program.
The static data for the called program is stored once in the user memory of the
device that the library program was called on. The same program instance data is
used every time the program is called on the same device.
Library Only for subroutine type "library function", "library function block", and "library
program".
All libraries available in the project are displayed in the drop-down list box.
Select the library which contains the subroutine.
Field/Button Explanation/Instructions
Subroutine The selection list displays all of the subroutines available on the SIMOTION
device of the selected subroutine type.
Select the subroutine to be called.
Important:
The functions and function blocks themselves can be created in every available
programming language. They must be available in compiled form in the device. A
connection to the program source (if required) is automatically set up when the
subroutine is selected.
The library functions and library function blocks can be created in every available
programming language. A connection to the library (if required) is automatically
set up when the subroutine is selected.
Return value For subroutine type Function or Library function:
Here, you enter the variable in which the return value is to be stored. The type of
variable must match the return value type.
Type For subroutine type Function or Library function:
The data type of the return value is displayed.
Instance For subroutine type Function block or Library function block:
Here, enter the name of the function block instance. The instance contains the
memory of the function block in the form of instance data.
You define the instance as a variable whose data type is the name of the function
block in one of the following ways:
• In the declaration table of the MCC source file as VAR_GLOBAL
• In the declaration table of the MCC chart as VAR
List of transfer parameters
Name The name of the transfer parameter is displayed here.
On / Off The variable type of the transfer parameter is displayed here.
VAR_INPUT
Input parameter (for functions and function blocks)
VAR_IN_OUT
In/out parameter (for functions and function blocks)
VAR_OUTPUT
Output parameter (for function blocks only)
Data type The data type of the transfer parameter is displayed here.
Field/Button Explanation/Instructions
Value Here, you can assign current variables or values to the transfer parameters:
• Input parameter (variable type VAR_IN):
Here, you enter a variable name or an expression. The assignment of system
variables or I/O variables is permissible; type transformations are possible.
• In/out parameter (variable type VAR_IN):
Enter a variable name; the variable must be directly writable and readable.
System variables of SIMOTION devices and technology objects are not
permitted nor are I/O variables. The data type of the in/out parameter must
correspond to that of the assigned variables; application of type transformation
functions is not possible.
• Output parameter (variable type VAR_OUTPUT – for FB only):
The assignment of an output parameter to a variable in this parameter screen
form is optional; you can also access an output parameter after executing the
function block.
When assigned in this parameter screen form: Enter a variable name. The
data type of the output parameter must correspond to that of the assigned
variables; the application of type transformation functions is not possible.
Comments The comment for the transfer parameters is displayed here.
See also
Creating and programming the function (FC) (Page 147)
Subroutine call of function (FC) (Page 147)
Figure 4-28 Declaring variables (e.g., input parameters) in the MCC chart
Figure 4-29 Programming the Circumference subroutine (e.g., assignment to a return value)
① You can continue to use the myumfang (mycircum) variable in the program.
Figure 4-30 Declaring a variable in the MCC chart
Figure 4-31 Opened parameter screen form for the subroutine call
See also
Creating and programming the function block (FB) (Page 150)
Subroutine call of function block (FB) (Page 151)
Creating a function block instance (Page 152)
Programming the subroutine call of the function block (Page 153)
Accessing the output parameters of the function block retrospectively (Page 155)
Figure 4-33 Declaring variables (e.g., input and output parameters) in the MCC chart
)RUPXODODQJXDJH
① The output parameter Difference is assigned to the variable Result_2 during subsequent
program runtime. You can use the Result_2 variable for other purposes in the program.
② The output parameter Difference is assigned to the variable Result in the subroutine call. You
can use the Result variable for other purposes in the program.
③ Creating an instance
④ Select the required FB as the data type.
The created function blocks are offered as data types in the drop-down list box depending on
the MCC editor settings (Page 29):
• Only function blocks with the same program source or from connected program sources or
libraries
• All function blocks defined in the project
Figure 4-35 Define an instance of the function block and variables in the MCC chart or MCC source
file
4. Click OK to confirm.
5. Pay attention to the order of the MCC charts in the MCC source file. The MCC chart with
the function block must appear in the project navigator above the chart containing the
program with the subroutine call. If necessary, rearrange the charts by highlighting the
relevant MCC chart in the project navigator and selecting the command Down or Up in
the context menu.
See also: Subroutine call of the function (FC) (Page 147)
Figure 4-36 Opened parameter screen form for the subroutine call
Note
The generated cross-reference list is saved automatically and can be displayed selectively
after selecting the appropriate element in the project navigator. To display the cross-
reference list, select the Edit > Reference data > Display > Cross-Reference List menu
command.
When a cross-reference list is recreated, it is updated selectively (corresponding to the
selected element in the project navigator). Other existing cross-reference data are retained
and displayed, if applicable.
Note
Activated single-step monitoring in MCC programming
Each task is assigned two variables TSI#dwuser_1 and TSI#dwuser_2, which can be written
and read.
When single step monitoring is activated, the compiler uses these variables to control single
step monitoring if at least one MCC chart is assigned to the relevant task. The user then
cannot use these variables, because their contents are overwritten by single step monitoring
and may cause undesirable side effects.
Note
A filter is automatically activated after the cross-reference list has been created.
Element Description
Base List separated by a comma
(declared POU or • Identifier of the program organization unit (POU) or task
task used))
• Identifier of the program source in which the POU or task was declared,
with add-on [UNIT]
• Minimum and maximum stack requirement (memory requirement of the
POU or task on the local data stack), in bytes [Min, Max]
• Minimum and maximum overall stack requirement (memory requirement of
the POU or task on the local data stack including all called POUs), in bytes
[Min, Max]
Referenced POU List separated by a comma:
• Identifier of called POU
• Optionally: Identifier of the program source / technology package in which
the POU was declared:
Add-on (UNIT): User-defined program source
Add-on (LIB): Library
Add-on (TP): System function from technology package
• Only for function blocks: Identifier of instance
• Only for function blocks: Identifier of program source in which the instance
was declared:
Add-on (UNIT): User-defined program source
Add-on (LIB): Library
• Line of (compiled) source in which the POU is called; several lines are
separated by "|".
4.12 LAD/FBD/formula
The creation language for a condition or variable assignment is either the ladder logic (LAD)
or function block diagram (FBD) programming language, or a formula according to IEC
61131-3. One of these programming languages can be selected as a standard language for
conditions and variable assignments (see MCC editor settings (Page 29)).
The language can be selected individually for the following commands:
● Variable assignment (see Variable assignment (Page 197))
● Wait for condition (see Wait for condition (Page 190))
● IF program branching (see IF: Program branching (Page 221)
● WHILE loop with condition at start (see WHILE: Loop with condition at the start
(Page 223))
● UNTIL loop with condition at end (see UNTIL: Loop with condition at the end (Page 226))
● Synchronous start (see Synchronous start (Page 233))
You can switch between the different programming languages. A calculation programmed in
LAD or FBD can be expanded in Formula in accordance with IEC 61131-3. However, you
can then only switch back to the LAD or FBD mode of representation if the expression can
be displayed in these languages.
Note
If you have not yet programmed in these languages, you can find a brief description of how
to do so in Appendix B.
Insert variable
You can insert variables from the detail view (Symbol Browser tab) in the appropriate input
field using a drag-and-drop operation.
① Toolbar ⑤ Comparator
② Enlarge / reduce the graphical display ⑥ NC contact
③ Closing a branch ⑦ NO contact
④ Opens a branch
Figure 4-40 Input screen form for ladder diagram
NO contact
Description Signal = 1 if the operand has signal status 1. The operand specifies the bit or
Boolean variable whose signal status is queried.
Data types BOOL
NC contact
Description Signal = 1 if the operand has signal status 0. The operand specifies the bit or
Boolean variable whose signal status is queried.
Data types BOOL
Description of comparator
Comparison instructions
Description Signal = 1 if the comparison of the two operands is true.
Possible modes of comparison:
= Equal
<> Not equal to
> greater than
< less than
>= greater than or equal to
<= less than or equal to
Data types SINT, INT, DINT, REAL, LREAL, BOOL, BYTE
SINT 8-bit integer comparator, Parameter: Byte
INT 16-bit integer comparator, Parameter: Words
DINT 32-bit integer comparator and time comparator,
Parameter: Double words and times
REAL 32-bit floating-point comparator,
Parameter: Double words
LREAL 64-bit floating-point comparator,
Parameter: 64-bit floating point values
8VHWKHFXUVRUWRVHOHFWWKHSRVLWLRQDWZKLFKWKH
EUDQFKLVWREHRSHQHG
2SHQWKHEUDQFKXVLQJ
7KHEUDQFKLVLQVHUWHGDIWHUWKHVHOHFWHGHOHPHQW
8VHWKHFXUVRUWRVHOHFWWKHSRVLWLRQDWZKLFKWKH
EUDQFKPXVWEHFORVHG
&ORVHWKHEUDQFKXVLQJ
7KHEUDQFKLVFORVHGDIWHUWKHVHOHFWHGHOHPHQW
① Toolbar ⑤ Comparator
② Enlarge / reduce the graphical display ⑥ OR logic operation
③ Negate input ⑦ AND operation
④ Add input
AND operation
Description The AND operation forms the signal states of two or more specified
operands at the inputs of an AND box.
If the signal status of all operands is 1, the condition is fulfilled and the result
of the operation is 1.
If the signal status of one operand is 0, the condition is not fulfilled and the
result of the operation is 0.
Data types BOOL
Description of an OR operation
OR operation
Description The OR operation forms the signal states of two or more specified operands
at the inputs of an OR box.
If the signal status of one operand is 1, the condition is fulfilled and the
operation returns a result of 1.
If the signal status of all operands is 0, the condition is not fulfilled and the
result of the operation is 0.
Data types BOOL
Description of comparator
Comparison instructions
Description See Description of LAD elements
Data types See Description of LAD elements
Add input
Description An additional input is added to an AND or an OR operation.
Data types ----
Negate input
Description Signal is negated.
Data types ----
4.12.3 Formula
A condition or value can be programmed in Formula language.
You can move the operators you need from the Command Library tab in the project
navigator to the input field using a drag-and-drop operation.
The system variables are moved from the Symbol Browser tab in the detail view to the input
field using a drag-and-drop operation (see figure).
Note
You can drag & drop system functions from the command library to the parameter masks
of the "ST zoom" and "System function call" commands.
The command library stays open even when the programming window is closed.
System function
The system function can be moved from the command library to the input field using a drag-
and-drop operation or be entered directly.
Return value
In the case of a system function, you specify the variable containing the return value of the
function.
Instance
In the case of a system function block, you specify the instance. This instance has been
declared as a variable beforehand (data type is the name of the system function block). See
also Creating a function block instance.
See also
Overview of parameters for (Page 174)
Field/Button Meaning/Instruction
System function The desired system function can be selected from the command library.
You can either enter the system function in the field or move it from the project
navigator (command library) to the field using a drag-and-drop operation.
Return value For a system function:
Here, you enter the variable in which the return value is to be stored. The type
of variable must match the return value type.
Type For a system function:
The data type of the return value is displayed.
Instance For a system function block:
Here, you enter the name of the system function block instance. The instance
contains the memory of the function block in the form of instance data. Define
the instance as VAR_GLOBAL in the declaration table of the MCC source file
or VAR in the declaration table of the MCC chart.
List of transfer parameters
Name The name of the transfer parameter is displayed here.
On / Off The variable type of the transfer parameter is displayed here.
VAR_INPUT
Input parameter (for system functions and system function blocks)
VAR_IN_OUT
In/out parameter (for system function blocks only)
VAR_OUTPUT
Output parameter (for system function blocks only)
Data type The data type of the transfer parameter is displayed here.
Field/Button Meaning/Instruction
Value Here, you can assign current variables or values to the transfer parameters:
• Input parameter (variable type VAR_INPUT):
Here, you enter a variable name or an expression. The assignment of
system variables or I/O variables is permissible; type transformations are
possible.
Optional input parameters are indicated by an entry in the Default value
column. If no value has been transferred to it, it is automatically assigned
the default value
• In/out parameter (variable type VAR_IN_OUT – for system function blocks
only):
Enter a variable name; the variable must be directly writable and readable.
System variables of SIMOTION devices and technology objects are not
permitted nor are I/O variables. The data type of the in/out parameter must
correspond to that of the assigned variables; application of type
transformation functions is not possible.
• Output parameter (variable type VAR_OUTPUT – for system function
blocks only):
The assignment of an output parameter to a variable in this parameter
screen form is optional; you can also access an output parameter after
executing the function block.
When assigned in this parameter screen form: Enter a variable name. The
data type of the output parameter must correspond to that of the assigned
variables; the application of type transformation functions is not possible.
Default value Here, the default value is displayed for optional input parameters. If no value
has been transferred to an optional input parameter, it is automatically
assigned the default value.
NOTICE
Only variables of this data type (see Technology object data types (Page 101)) are
permitted as technology objects.
You specify the SIMOTION device and technology package for which the library is compiled
in the object properties of the library:
1. Select the library in the project navigator.
2. Select the Edit > Object Properties menu command.
3. Select the TPs/TOs tab.
4. Select the SIMOTION devices (including the version number) and the technology
packages for which the library is to be compiled.
NOTICE
To compile a project without errors, observe the rules governing the selection of
SIMOTION devices and technology packages in the following table.
Selection Description
Device-independent You must also select:
• The technology packages
• The version number of the selected technology packages
Note:
1. The library is compiled without reference to a SIMOTION device.
For this reason, the following must not be used:
– System functions and system variables of SIMOTION devices
– Version-dependent system functions of the SIMOTION ST
programming language (see SIMOTION ST Programming Manual)
Additional MCC commands are not permitted.
1. The library is compiled precisely to the version selected. The use of
system functions or variables which are not available in the selected
version will result in a compilation error.
2. If a device-independent library is to be made available for another
version it must be copied and inserted under a different name. This copy
must be recompiled with a different version reference.
SIMOTION device Only those technology packages are displayed that are available for all of
including version the selected devices.
(multiple selection Note:
possible)
1. The library is compiled for all of the selected devices and technology
packages (of the selected device versions).
2. The use of system functions or variables which are not available for one
of the selected devices, or the technology package of the respective
device version, will result in a compilation error.
3. The library can only be used for the selected devices and technology
packages. When you use the library in an MCC source file, the following
is therefore checked:
– Whether the library for the SIMOTION device (including version) that
contains the MCC source file to be imported has been compiled.
– Whether the technology package that is used on the SIMOTION
device matches that of the library.
Any inconsistencies will result in compilation errors.
Prohibited commands
In all libraries:
• Following MCC basic commands:
– Set output
– Reset output
– Wait for signal
• Following MCC task command:
– Determine TaskId
• Following MCC communication commands:
– Incoming message
– Outgoing message
• MCC single axis command:
– Set virtual axis values
• ST system functions (when used in the MCC commands System function call, Variable
assignment or ST zoom):
– Task control commands (up to kernel V3.0)
– Commands for runtime measurement of tasks (up to kernel version V3.0)
– Commands for message programming (up to kernel version V3.0)
For more information, refer to the SIMOTION ST Programming Manual.
4.15 Print
The MCC source file or MCC chart displayed in the working window can be output to a
printer.
1. Select the Project > Print menu command.
2. In the Print project window, select the print options (see table below):
– When printing an MCC source file:
Select print options for this MCC source file and each MCC chart it contains.
– When printing an MCC chart:
Select print options for this MCC chart.
3. Then, select:
– Print if you want to output the result to the printer immediately
– Print preview if you want to check the print result on the screen before printing
Option Significance
Printing a declaration table When this check box is selected, the declaration table of the MCC
(MCC source file and MCC source file or the MCC chart is printed. In the Select column below,
chart) select:
Default column widths
The table will be printed with the default column widths.
Scale column widths to screen
The table is printed with the column widths that were set in the
declaration table window
Print chart When this check box is selected, the selected MCC chart will be
(MCC chart only) printed. Depending on the selected zoom factor, the printout can
have multiple pages.
Printing the index page When this check box is selected, an index page displaying the
(MCC chart only) entire MCC chart on one page and the page boundaries of the
individual pages is also printed. If the printout of the MCC chart
consists of several pages, this will make it easier to read.
Display numbers of adjoining When this check box is selected, the number of the next page will
pages be printed on the margin of each page of a multi-page MCC chart
(MCC chart only) printout.
Option Significance
Zoom Select a zoom factor for the printout of the MCC chart:
(MCC chart only) Scale graphics to page width
The width of the MCC chart is scaled to the page width. Depending
on the size, the chart may be divided vertically onto several pages.
Scale graphics to page height
The height of the MCC chart is scaled to the page height.
Depending on the size, the chart may be divided horizontally onto
several pages.
Scale graphics to one page
The height and width of the MCC chart are scaled to the page size.
The chart is always presented on one page.
Graphic at 100%
The MCC chart will be printed in its original size. The chart can be
divided onto several pages, both vertically and horizontally.
Apply zoom factor from screen
The MCC chart is printed with the zoom factor setting for its MCC
editor window. The chart can be divided onto several pages, both
vertically and horizontally.
Blank pages If the printout of the MCC chart consists of several pages, blank
(MCC chart only) pages can occur. In the Select column, select select which blank
pages should be printed:
Print all
All blank pages are printed.
Omit at end
Blank pages at the end of a series are not printed. If the Index
page option is selected, the non printed pages are marked with an
X on the index page.
Omit all
All blank pages (even in the middle of a series) are not printed. If
the Index page option is selected, the non printed pages are
marked with an X on the index page.
Field/Button Explanation/instructions
Parameters tab See Overview of parameters for Wait time - Parameters tab (Page 184)
Expert tab See Overview of parameters for Wait time - Expert tab (Page 184)
Field/Button Explanation/instructions
Time Enter the wait time here as a value or variable of type TIME. Granularity is 1 ms. The
accuracy with which the time setting is applied is dependent on the clock grid in which the
task is executed or, in the case of MotionTasks, on the interpolation cycle clock. If the wait
time is 0, the task is continued without any interruption.
T#0ms (default value)
T#0d_0h_0m_0s_0ms
Field/Button Explanation/instructions
The Expert tab is described in detail in Overview of parameters for Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type for each command step, you
can use this variable to find out the result of the command step.
Data type DINT, the value is always equal to 0.
Execution of the task is halted until the axis achieves the programmed condition. Possible
conditions are:
● Axis status: A status of the axis determined on the basis of system variables of the axis or
the associated synchronous object (in the case of a synchronous axis)
● Comparison value : Comparison of a value of the axis (such as position, velocity) with a
specified value
If both conditions are selected, they are combined by an AND operation.
The statuses and values of the axis relate to the total motion.
The condition is checked in the interpolator cycle clock. If the condition is fulfilled, the priority
of the MotionTask is temporarily raised. The commands within the shaded area under the
wait command are started in the next IPO cycle clock and executed with the highest priority.
Once the commands in the shaded area have been executed, the priority of the MotionTask
is reset.
NOTICE
This command may only be programmed for MotionTasks.
Note
If you want to program a wait condition with axis statuses or axis values other than those
provided in the selection lists:
Use the Wait for condition command and the corresponding system variables of the axis
(see SIMOTION Cam Technology Package, System Variables Parameter Manual).
Field/Button Explanation/instructions
Axis Here, select the axis whose status or value you want to check. You can select from:
• All axes that are configured on the device
• All variables of the MCC chart with the following data types of technology objects (see
Data types of technology objects (Page 101)): driveAxis, posAxis, or followingAxis.
Leading axis / encoder Visible for all synchronous axes.
Notice
The Master axis/encoder selection is required only for synchronous axes with more than
one synchronous object (superimposed synchronous motions).
This input is ignored in the case of synchronous axes with only one synchronous object.
By making this selection, you are indirectly selecting the synchronous object of the main
motion or the superimposed motion.
Axis status Here, you select an axis status as the condition
• Select this check box if you want to evaluate the axis status.
• Select the axis status.
Different options are offered depending on the technology of the selected axis (see
Axis status table (Page 187)).
Comparison value Here, you select comparison of an axis value as the condition.
• Select this check box if you wish to compare an axis value. Possible axis values are
shown in the subsequent selection list.
• Select the axis value that you want to compare.
Different options are offered depending on the technology of the selected axis.
• Select the comparison operators (see Comparison operators for axis values table
(Page 187)).
• Enter the comparison value.
Tolerance Only for comparisons for equality (=) or inequality (<>):
Maximum absolute value of the permitted difference between the selected axis value and
the programmed comparison value that will allow the equality condition to be satisfied.
5.1.2.4 Relevant commands of the ST (Structured Text) programming language for Wait for axis
● EXPRESSION / END_EXPRESSION for formulation of the condition
● WAITFORCONDITION / END_WAITFORCONDITION
Task execution is halted until the signal status at a digital input or output (BOOL data type)
satisfies the programmed condition:
● Static 1 (TRUE) or 0 (FALSE)
● Rising or falling edge
The condition is checked in the interpolator cycle clock. If the condition is fulfilled, the priority
of the MotionTask is temporarily raised. The commands within the shaded area under the
wait command are started in the next IPO cycle clock and executed with the highest priority.
Once the commands in the shaded area have been executed, the priority of the MotionTask
is reset.
The following access is possible to a digital input/output:
● Direct access and access to the process image of the cyclic task (Page 122) (always
takes place via I/O variables)
● Accesses to the fixed process image of the background task (Page 128) (except for
symbolic accesses declared locally in the declaration table of an MCC chart)
NOTICE
This command may only be programmed for MotionTasks.
Note
If you want to program a wait condition with I/O variables or process image accesses
whose data type is not BOOL):
Use the Wait for condition command.
Field/Button Explanation/instructions
Input/output Here, you select the digital input or output to be evaluated for the wait condition.
You can select from the following:
• I/O variables with data type BOOL
• Symbolic accesses to the process image of the BackgroundTask with data type BOOL
In addition, you can enter absolute process image accesses (data type BOOL).
Value Here, you can decide whether the condition evaluation is to be edge-triggered or level-triggered.
Rising edge (default value)
The condition is satisfied if the input changes from 0 (FALSE) to 1 (TRUE).
Falling edge
The condition is satisfied if the input changes from 1 (TRUE) to 0 (FALSE).
Level 'FALSE'
The condition is satisfied if the input is static at 0 (FALSE).
Level 'TRUE'
The condition is satisfied if the input is static at 1 (TRUE).
5.1.3.2 Relevant commands of the ST (Structured Text) programming language for Wait for signal
● EXPRESSION / END_EXPRESSION for formulation of the condition
● WAITFORCONDITION / END_WAITFORCONDITION
Note
The Wait command may only be programmed for MotionTasks.
The condition is programmed in the ladder diagram (LAD), function block diagram (FBD),
or Formula languages.
Solution
The conveyor belt is driven by axis_1 in position-controlled mode. The feeder unit is driven
by axis_2. Two sensors are applied to input1 and input2. These monitor whether a package
is on the feeder unit and whether there is sufficient room for it on the conveyor belt. If both
are true, the feeder belt is moved (positioned relatively).
Figure 5-6 Section of MCC chart with open parameter screen form for Wait for condition command; if packages are on
feeder belt, WHILE loop is executed (Posrel=True).
5.1.4.1 Relevant commands of the ST (Structured Text) programming language for Wait for
condition
● EXPRESSION / END_EXPRESSION for formulation of the condition
● WAITFORCONDITION / END_WAITFORCONDITION
5.1.5 Module
Several commands are grouped in a module (see Module creation (Page 60)).
The Subroutine call command enables you to use user-defined functions and function blocks
as well as library functions and library function blocks in the MCC chart and to program their
call conveniently (see Insert and parameterize subroutine call in the MCC chart (Page 142)).
As an option, you can also call user-defined programs ("program in program", see
Subroutine (Page 139)) or library programs.
When the command is called, the programmed function, function block or program is
executed. Once the subroutine has been executed, execution of the MCC chart is resumed
with the subsequent command.
The System function call command enables you to use any system functions and system
function blocks in the MCC chart and to program their call conveniently (see Using the
system function call command (Page 172)).
When the command is called, the programmed system function or system function block is
executed. Once the system function or system function block is executed, the execution of
the MCC chart resumes after the command.
Field/Button Explanation/instructions
Output Here, you select which output is to have its bits set to 1.
You can select from the following (outputs only):
I/O variables
Symbolic accesses to the process image of the BackgroundTask
In addition, you can enter absolute process image accesses (outputs).
For information about absolute process image access, see Syntax for the identifier for
absolute PI access.
5.1.8.2 Relevant commands of the ST (Structured Text) programming language for Set output
Value assignment to output
Table 5- 7 Assigned values for Reset output command according to data type
Field/Button Explanation/instructions
Output Here, you select which output is to have its bits set to 0.
You can select from the following (outputs only):
• I/O variables
• Symbolic accesses to the process image of the BackgroundTask
In addition, you can enter absolute process image accesses (outputs).
5.1.9.2 Relevant commands of the ST (Structured Text) programming language for Reset output
Value assignment to output
You can use the Variable assignment command to assign values to user or system
variables. The assignment takes place when the command is executed in the MCC chart.
A variable can be moved from the symbol browser to the input field using drag-and-drop.
Multiple variables can be assigned.
Note
Assignment is programmed in the ladder diagram (LAD), function block diagram (FBD), or
Formula languages.
Select this check box if you want the data to be transferred without interruption by other
tasks.
NOTICE
If you select the Uninterruptible assignments check box, you must set up
UserInterruptTask_1 because the MCC calls this in the event of an error. You can program
an error response in this task.
5.1.11 ST zoom
You can use this command to insert one or more ST commands in the MCC chart.
Enter the ST commands in the parameter screen form.
Note
Use keystroke combination Ctrl+TAB to enter a tab in the box.
With this command, the specified technology objects (axes, output cams, measuring inputs,
synchronous (following) objects, external encoders) are switched to simulation mode. The
setpoint output for axes is suppressed. The output of output cams is not switched.
Field/Button Explanation/instructions
Parameters tab See Overview of parameters for Activate simulation for object - Parameters tab
(Page 201)
Expert tab See Overview of parameters for Activate simulation for object - Expert tab (Page 201)
Delay program execution Select the check box if execution of the subsequent command is to wait until this
command is finished. If the check box is not selected, the next command is executed
immediately.
5.1.12.2 Overview of parameters for Activate simulation for object - Parameters tab
Table 5- 10 Overview of parameters for Activate simulation for object - Parameters tab
Field/Button Explanation/instructions
Technology object Here you select the technology objects that are to be switched to simulation mode. You
can select several objects simultaneously. The following are available:
• All objects that are defined on the device
• All variables with data types of technology objects declared in the MCC source file or
MCC chart (see Technology object data types (Page 101))
5.1.12.3 Overview of parameters for Activate simulation for object - Expert tab
Table 5- 11 Overview of parameters for Activate simulation for object - Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Overview of parameters for Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
Return variable If you enter the name of a variable of the specified data type for each command step, you
can use this variable to find out the result of the command step.
Data type DINT; for a description, see Return value for system functions of the Cam
technology package.
This command switches the specified technology objects (axes, output cams, measuring
inputs, synchronous (following) objects, external encoders) from simulation mode back to
normal mode. The setpoint output for axes is activated and the output cam outputs are
switched again.
Field/Button Explanation/instructions
Parameters tab See Overview of parameters for Deactivate simulation for object - Parameters tab
(Page 203)
Expert tab See Overview of parameters for Deactivate simulation for object - Expert tab (Page 203)
Delay program execution Select the check box if execution of the subsequent command is to wait until this
command is finished. If the check box is not selected, the next command is executed
immediately.
5.1.13.2 Overview of parameters for Deactivate simulation for object - Parameters tab
Table 5- 13 Overview of parameters for Deactivate simulation for object - Parameters tab
Field/Button Explanation/instructions
Technology object Here, you select the technology objects that are to be switched from simulation mode
back to normal operation. You can select several objects simultaneously. The following
are available:
• All objects that are defined on the device
• All variables with data types of technology objects declared in the MCC source file or
MCC chart (see Technology object data types (Page 101))
5.1.13.3 Overview of parameters for Deactivate simulation for object - Expert tab
Table 5- 14 Overview of parameters for Deactivate simulation for object - Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Overview of parameters for Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
Return variable If you enter the name of a variable of the specified data type for each command step, you
can use this variable to find out the result of the command step.
Data type DINT; for a description, see Return value for system functions of the Cam
technology package.
Field/Button Explanation/instructions
Parameters tab See Overview of parameters for Reset object - Parameters tab (Page 205)
Expert tab See Overview of parameters for Reset object - Expert tab (Page 205)
Field/Button Explanation/instructions
Technology object Here, you select the axes, cams, etc., to be reset. You can select several objects
simultaneously. The following are available:
• All objects that are defined on the device
• All variables with data types of technology objects declared in the MCC source file or
MCC chart (see Technology object data types (Page 101))
Table 5- 17 Overview of parameters for Deactivate simulation for object - Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Overview of parameters for Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type for each command step, you
can use this variable to find out the result of the command step.
Data type DINT; for a description, see Return value for system functions of the Cam
technology package.
You can use this command to place the SIMOTION device in STOP or STOP U mode.
Note
To place the SIMOTION device into RUN mode again, activate the software switch in
SIMOTION SCOUT or the mode selector on the SIMOTION device.
Field/Button Explanation/instructions
Operating state STOP
STOP mode is selected.
• Technology objects inactive (enables deleted, no axis motion)
• User program is not executed
• Loading a user program is possible
• All system services are active (communication, etc.)
• All analog and digital outputs set to 0
STOP user program
STOPU mode is selected.
• Technology objects active
• Technology objects can execute jobs for testing and commissioning functions.
• Otherwise identical to STOP mode
This command enables you to log signal characteristics and axis status characteristics (see
Activate trace (Page 560)).
You can use the comment block to structure the MCC chart and insert a comment anywhere
within the program sequence. The size of the comment block is automatically adjusted to the
size of the comment text. The block is displayed larger than normal command blocks in the
chart.
NOTICE
If the task is already active, it is stopped and restarted with data initialization.
Note
This command may only be programmed for MotionTasks.
Field/Button Explanation/instructions
Task Select the task to be started. You can select from:
• All MotionTasks (not in libraries)
• All variables of data type StructTaskID declared in the MCC source file or MCC chart
Note
The command can be programmed for MotionTasks, UserInterruptTasks, and
TimerInterruptTasks.
Field/Button Explanation/instructions
Task Select the task to be interrupted. You can select from:
• All MotionTasks (not in libraries)
• UserInterruptTasks and TimerInterruptTasks configured on the device (not in libraries)
• All variables of data type StructTaskId declared in the MCC source file or MCC chart
This command continues a task that was interrupted with the Interrupt task command at the
point it was interrupted.
Interrupted motions are not automatically continued. Resumption of interrupted motions must
be programmed explicitly.
The task to be continued can be selected as follows:
● Using its name (as specified in the execution system)
In this form, the command can not be used in libraries.
● Using a variable of data type StructTaskId
This variable contains the TaskId that you obtained using the TaskId function.
In this form, the command can be used in libraries.
Note
The command can be programmed for MotionTasks, UserInterruptTasks, and
TimerInterruptTasks.
Field/Button Explanation/instructions
Task Select the task to be continued. You can select from:
• All MotionTasks (not in libraries)
• UserInterruptTasks and TimerInterruptTasks configured on the device (not in libraries)
• All variables of data type StructTaskID declared in the MCC source file or MCC chart
This command stops a MotionTask. The task can be restarted with the Start task command
with data initialization.
The task to be reset can be selected as follows:
● Using its name (as specified in the execution system)
In this form, the command can not be used in libraries.
● Using a variable of data type StructTaskId
This variable contains the TaskId that you obtained using the TaskId function.
In this form, the command can be used in libraries.
NOTICE
The Reset task and Start task commands cannot follow each other in direct succession.
Instead, use only the Start task command.
Note
This command may only be programmed for MotionTasks.
Field/Button Explanation/instructions
Task Select the task to be reset. You can select from:
• All MotionTasks (not in libraries)
• All variables of data type StructTaskID declared in the MCC source file or MCC chart
Note
The command can be programmed for MotionTasks, UserInterruptTasks, and
TimerInterruptTasks.
Field/Button Explanation/instructions
Task Select the task whose current state is to be determined. You can select from:
• All MotionTasks (not in libraries)
• UserInterruptTasks and TimerInterruptTasks configured on the device (not in libraries)
• All variables of data type StructTaskID declared in the MCC source file or MCC chart
Return value Here, you enter the return variable of type DWORD in which the task status will be stored
as the command result (see description of the _getStateOfTaskId function in the
SIMOTION ST Programming Manual). This variable must be defined in a declaration table
or the symbol browser.
① The return value of the Task status command is stored in local variable ret_dword with data
type DWORD. It indicates the status of MotionTask_1, which is then evaluated.
Figure 5-21 Example of a query whether a MotionTask can be started
This command generates a project-wide unique TaskId from the name of a task. This TaskId
is assigned to a variable of data type StructTaskId.
This function must not be used in libraries.
Note
The command can be programmed for MotionTasks, UserInterruptTasks, and
TimerInterruptTasks.
Field/Button Explanation/instructions
Task Select the name of the task whose project-wide unique TaskId is to be determined. You
can select from:
• All MotionTasks
• UserInterruptTasks and TimerInterruptTasks configured on the device
Return value Here, you enter the return variable of type StructTaskId in which the TaskId will be stored.
This variable must be defined in a declaration table or the symbol browser.
A specified condition causes the program flow to branch to the TRUE branch or FALSE
branch.
The program flow branches as follows:
● Condition is fulfilled: Execution continues down the TRUE path.
● Condition is not fulfilled: Execution continues down the FALSE path.
① Depending on the "flag" variables, either the linear axis or the rotatory axis are started.
② Condition is not fulfilled.
③ Condition is fulfilled.
Figure 5-23 Example of a branch (IF) in a flowchart
Note
The condition is programmed in the ladder diagram (LAD), function block diagram (FBD), or
Formula languages.
6HOHFWHGFRPPDQGV
:KHQWKH,)VWDWHPHQWLVLQVHUWHGWKHSUHYLRXVO\
VHOHFWHGFRPPDQGVDUHVKLIWHGWRWKH758(EUDQFK
Figure 5-24 Inserting the IF statement when several commands are selected
5.3.1.3 Relevant commands of the ST (Structured Text) programming language for IF: Program
branching
IF / ELSE / END_IF
Commands programmed within the loop are executed as long as the loop condition is
fulfilled.
The condition is at the start of the loop.
When the WHILE command is reached, program flow branches as follows:
● Condition is fulfilled: Program runs through loop.
● Condition is not fulfilled: Program continues.
Note
The condition is programmed in the ladder diagram (LAD), function block diagram (FBD), or
Formula languages.
Refer to the notes regarding pasting, deleting, cutting, or copying of the IF
statement; they apply analogously.
5.3.2.1 Relevant commands of the ST (Structured Text) programming language for WHILE: Loop
with condition at the start
WHILE /END_WHILE
The FOR loop repeats a program section for a fixed number of runs. Once the loop has been
run the specified number of times, the program continues.
5.3.3.1 Overview of parameters for FOR: Loop with fixed number of runs
You can set the following parameters:
Table 5- 25 Overview of parameters for FOR loop with fixed number of runs
Field/Button Explanation/instructions
Variable Enter the count variable for the FOR loop here.
The variable must be of type INT. The variable name can be entered or moved from the
symbol browser using a drag-and-drop operation.
Start Enter the initial value of the count variable here. The count variable is set to the specified
value at the first pass of the loop start. The initial value can be directly entered as a value
or, alternatively, as a formula. Variables can be used. The expression is of type INT.
End Enter the final value of the count variable here. The loop is executed repeatedly until the
count variable exceeds the specified final value. The value can be directly entered as a
value or, alternatively, as a formula. Variables can be used. The expression is of type INT.
Increment Enter the increment here: The count variable is increased by the entered increment each
time the loop is run. The value can be directly entered as a constant or, alternatively, as a
formula. Variables can be used. The expression is of type INT.
Note
Refer to the notes regarding pasting, deleting, cutting, or copying of the IF statement; they
apply analogously.
5.3.3.2 Relevant commands of the ST (Structured Text) programming language for FOR: Loop
with fixed number of runs
FOR / END_FOR
The commands programmed within the loop are executed until the loop condition is fulfilled.
The condition is programmed at the end of the loop. For this reason, the commands in the
loop are executed at least once.
When the UNTIL command is reached, program flow branches as follows:
● Condition is not fulfilled: Program runs through loop.
● Condition is fulfilled: Program continues.
Note
The condition is programmed in the ladder diagram (LAD), function block diagram (FBD), or
Formula languages.
Refer to the notes regarding pasting, deleting, cutting, or copying of the IF statement; they
apply analogously.
5.3.4.1 Relevant commands of the ST (Structured Text) programming language for UNTIL: Loop
with condition at the end
REPEAT / UNTIL / END_REPEAT
Field/Button Explanation/instructions
Variable Enter a variable of the following data types:
• General data type ANY_INT
• Any enumeration data type
The variable name can be entered or moved from the symbol browser using a drag-and-
drop operation.
The CASE branch whose label is consistent with the variable content is executed. If the
content of the variable does not match any of the constants or constant ranges, then the
ELSE branch is executed.
Note
Refer to the notes regarding pasting, deleting, cutting, or copying of the IF statement; they
apply analogously.
5.3.5.5 Relevant commands of the ST (Structured Text) programming language for CASE:
Multiple branching
CASE / ELSE / END_CASE
5.3.6 Go to
You can program jumps within an MCC chart using the Go to command. A jump is defined
as a jump label (Go to command) and a jump destination (Selection command), each with
the same name. A circle symbol with a name marks the exit and entry point in each case.
Several exit points with the same name can be programmed, but only one entry point.
The following jumps are illegal:
● Jumps to control structures
● Jumps out of the shaded area after a Wait command
After you have inserted a Go to command, you must enter the name of the jump destination.
For this, double-click inside the circle.
Field/Button Explanation/instructions
Jump destination ID Enter the name of the jump destination. The name is made up of the following:
• The first character is a letter or underscore symbol
• The remaining characters are letters, underscore symbols, or digits
It is irrelevant whether the letters are upper or lower case. The name must be identical to
the newly assigned name for the jump label – see Selection (Page 230) command.
5.3.6.2 Relevant commands of the ST (Structured Text) programming language for Go to:
GOTO
5.3.7 Selection
This command is used to identify the entry point for the Go To command. A jump is defined
as a jump label (Go to command) and a jump destination (Selection command), each with
the same name. A circle symbol with a name marks the exit and entry point in each case.
Several exit points with the same name can be programmed, but only one entry point.
The following jumps are illegal:
● Jumps to control structures
● Jumps out of the shaded area after a Wait command
After you have inserted the Selection command, you must enter the name of the jump label.
For this, double-click inside the circle.
Field/Button Explanation/instructions
Jump mark ID Enter the name of the jump label. The name is made up of the following:
• The first character is a letter or underscore symbol
• The remaining characters are letters, underscore symbols, or digits
It is irrelevant whether the letters are upper or lower case. The name must be identical to
the newly assigned name for the jump destination – see Go to (Page 229) command.
5.3.7.2 Relevant commands of the ST (Structured Text) programming language for Selection:
Definition of a jump label
5.3.8 Return
This command causes the MCC chart (program, function, function block) to end.
When a function or a function block is ended, program execution continues in the higher-
level MCC chart (or program organization unit) after the position where the function or
function block was called.
Example of Return
① The variable assignment is executed after the regular end of the FOR loop, but not after the
execution of the Return command.
Figure 5-33 Example of Return
5.3.8.1 Relevant commands of the ST (Structured Text) programming language for Return:
RETURN
5.3.9 Exit
Example of Exit
① The variable assignment is executed after the execution of the Exit command and the regular
end of the FOR loop.
Figure 5-34 Example of Exit
5.3.9.1 Relevant commands of the ST (Structured Text) programming language for Exit:
EXIT
You can use this command to start several commands simultaneously. The permissible
commands are listed in Permissible commands.
The next command is started once all the commands in the branches have been executed
and ended. In addition, details of when a command is ended are entered in Permissible
commands.
To check the correct completion of the synchronous start, you can query whether the
commands, which were started synchronously, have been completed without error via the
group variable _MccRetSyncStart. The group variable is set to not equal to 0 when a
command within the synchronous start had a return value not equal to 0 (see SIMOTION
Basic Functions function manual).
The following MCC sample program shows a synchronous start with two axes and
subsequent query of the group variable _MccRetSyncStart. This is not equal to 0 when a
command within the synchronous start had a return value not equal to 0.
There is no limit to the number of commands started simultaneously nor to the number of
synchronous starts within an MCC chart.
This command should only be used in MotionTasks.
NOTICE
When you use the Synchronous Start command, you must generate the
UserInterruptTask_1 since this is called in the event of an error. You can program an error
response in this task.
The task controller is temporarily shut down during the synchronous start. It is not restarted
until the following conditions are met:
• All single-axis commands and synchronous operation and cam commands in the
branches have been started
• All basic commands in the branches have been completed
Start interruptions by other tasks (except SynchronousTasks) are thus prevented. This can
cause a timeout to occur in cyclic tasks (BackgroundTask, TimerInterruptTasks). This error
can be detected and caught by programming the TimeFaultBackgroundTask or
TimeFaultTask appropriately.
For information about execution levels and tasks, see Execution levels and tasks in
SIMOTION in the SIMOTION ST Programming Manual.
Note
The condition is programmed in the ladder diagram (LAD), function block diagram (FBD),
or Formula languages.
5.3.10.2 Checkbox
If you select the Start command if condition is fulfilled check box, the commands in the
branches are not executed until the programmed condition is satisfied.
NOTICE
In the case of single axis commands and synchronous operation and cam commands, the
synchronous start can only be guaranteed if the following two conditions are satisfied:
The commands embedded in the synchronous start must act on different axes.
The axes involved must be on the same ExecutionLevel (IPO or IPO_2).
The following table shows the permissible commands for a synchronous start with
specification of timing for proper completion of commands; timing depends on whether an
additional command is present on the relevant axis.
Table 5- 29 Permissible commands for a synchronous start with specification of timing for proper completion of
commands; timing depends on whether an additional command is present on the relevant axis
5.3.10.9 Relevant system functions and commands of the ST (Structured Text) programming
language for synchronous start
System functions of SIMOTION devices:
● BEGIN_SYNC / END_SYNC
● _disableScheduler / _enableScheduler
● _startSyncCommands
ST system function:
● _getSyncCommandId
● _waitTime
ST commands:
● EXPRESSION / END_EXPRESSION for formulation of the wait condition
● WAITFORCONDITION / END_WAITFORCONDITION
5.4 Communication
This command acknowledges the pending technology alarms on one or more technology
objects.
Field/Button Explanation/instructions
Parameters tab See Overview of parameters for Acknowledge TO alarms - Parameter tab (Page 240)
Expert tab See Overview of parameters for Acknowledge TO alarms - Expert tab (Page 240)
5.4.1.2 Overview of parameters for Acknowledge technology object alarms - Parameters tab
Table 5- 31 Overview of parameters for Acknowledge technology object alarms - Parameters tab
Field/Button Explanation/instructions
Technology object Here, you select the technology objects (axes, cams, etc.) whose alarms are to be
acknowledged. You can select several objects simultaneously. The following are
available:
• All objects that are defined on the device
• All variables with data types of technology objects declared in the MCC source file or
MCC chart (see Technology object data types table).
Acknowledge all alarms Select this check box if all alarms queued on the device are to be acknowledged.
5.4.1.3 Overview of parameters for Acknowledge technology object alarms - Expert tab
Table 5- 32 Overview of parameters for Acknowledge technology object alarms - Expert tab
Field/Button Explanation/instructions
Return variable If you enter the name of a variable of the specified data type for each command step, you
can use this variable to find out the result of the command step.
DINT data type.
• When the Acknowledge all alarms check box is selected: The return value is always 0.
• When the Acknowledge all alarms check box is cleared: For a description, see Return
value for system functions of the Cam technology package.
Figure 5-37 Parameter screen form: Acknowledge specific technology object alarm
Field/Button Explanation/instructions
Technology object Here, you select the technology objects (axes, cams, etc.) whose alarms are to be
acknowledged. You can select several objects simultaneously. The following are
available:
• All objects that are defined on the device
• All variables with data types of technology objects declared in the MCC source file or
MCC chart (see Technology object data types table).
Parameters tab See Overview of parameters for Acknowledge specific TO alarm - Parameter tab
(Page 243)
Expert tab See Overview of parameters for Acknowledge specific TO alarm - Expert tab (Page 243)
5.4.2.2 Overview of parameters for Acknowledge specific technology object alarm - Parameters
tab
Table 5- 34 Overview of parameters for Acknowledge specific technology object alarm - Parameters tab
Field/Button Explanation/instructions
Method of operation Select which alarms on the technology object are to be acknowledged:
Acknowledge all alarms
All alarms on the technology object are acknowledged.
Acknowledge a specific alarm
The alarm specified in the "Alarm No." or "Alarm text" field is acknowledged.
Alarm number Enter the alarm number.
The corresponding text is displayed in the alarm text field.
Alarm text Select the alarm text.
The corresponding number of the alarm is displayed in the alarm number field.
5.4.2.3 Overview of parameters for Acknowledge specific technology object alarm - Expert tab
Table 5- 35 Overview of parameters for Acknowledge specific technology object alarm - Expert tab
Field/Button Explanation/instructions
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the Cam
technology package.
5.4.2.4 Relevant system functions for Acknowledge specific technology object alarm
Cam technology package:
● _resetAxisError for speed-controlled axes, positioning axes, synchronous axes, and path
axes
● _resetCamError for cams
● _resetCamTrackError for output cam tracks
● _resetExternalEncoderError for external encoders
● _resetFollowingObjectError for synchronous (following) objects
● _resetMeasuringInputError for measuring inputs
● _resetOutputCamError for output cams
Path technology package:
● _resetPathObjectError for path objects
Technology package Cam_EXT:
● _resetAdditionObjectError for addition objects
● _resetControllerObjectError for controller objects
● _resetFixedGearError for fixed gear
● _resetFormulaObjectError for formula objects
● _resetSensorError for sensor objects
TControl technology package:
● _resetTControllerError for temperature channels
Each with parameter errorResetMode = SPECIFIC_ERROR
This command notifies configured nodes that a message has arrived. Messages are
configured beforehand during message configuration (Project > Messages > Configure menu
command). The message is sent to all of the configured nodes.
See the online help for information about message configuration.
If the specified message is already pending, then there is no change. The message is not
reset.
Field/Button Explanation/instructions
Alarm Here, you select one of the configured messages. To configure new messages, select
Program -> Configure messages in the project navigator.
Parameters tab See Overview of parameters for Incoming message - Parameter tab (Page 246)
Expert tab See Overview of parameters for Incoming message - Expert tab (Page 246)
Field/Button Explanation/instructions
Auxiliary value Enter an auxiliary value for the message. Integer numbers, numbers with decimal points,
and positive and negative values are permitted. Variables of type ANY_NUM or ANY_BIT
can also be specified. Although any of the specified data types may be programmed in
theory for the auxiliary value, they must match the type configured for the message.
Acknowledgment Here, you select whether the message can be acknowledged.
Acknowledgeable message (default value)
Acknowledgeable message: When the message arrives, the user must acknowledge it on
the operator panel.
Message not acknowledgeable
Message not acknowledgeable: The message is visible until the program has issued an
outgoing message.
Field/Button Explanation/instructions
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DWORD; for a description, see _alarmSId and _alarmSqId functions in the
SIMOTION ST Programming Manual.
This command notifies configured stations that a message is no longer pending. The
message itself is created in the message configuration (Project > Messages > Configure
menu command). Acknowledgeable messages can then be acknowledged on the OP.
See the online help for information about message configuration.
Field/Button Explanation/instructions
Alarm Here, you select one of the configured messages. To configure new messages, select
Program -> Configure messages in the project navigator.
Parameters tab See Overview of parameters for Outgoing message - Parameter tab (Page 248)
Expert tab See Overview of parameters for Outgoing message - Expert tab (Page 248)
Field/Button Explanation/instructions
Auxiliary value Enter an auxiliary value for the message. Integer numbers, numbers with decimal points,
and positive and negative values are permitted. Variables of type ANY_NUM or ANY_BIT
can also be specified. Although any of the specified data types may be programmed in
theory for the auxiliary value, they must match the type configured for the message.
Acknowledgment Here, you select whether the message can be acknowledged.
Acknowledgeable message (default value)
Acknowledgeable message: If the message has been sent, the user must acknowledge it
on the OP.
Message not acknowledgeable
Message not acknowledgeable: The message is visible until the program has issued an
outgoing message.
Field/Button Explanation/instructions
The Expert tab is described in detail in the Overview of parameters for Expert tab table.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DWORD; for a description, see _alarmSId and _alarmSqId functions in the
SIMOTION ST Programming Manual.
Before you can use the TCP/P protocol of the Send data or Receive data commands, you
must establish the TCP/IP connection for both communication partners:
1. You specify one communications partner as the server.
After the call, the command waits for a connection request at the specified port.
2. You specify the other communications partner as the client and specify the server it is to
access.
After the command is called, a connection to the server addressed by the IP address and
port number is established.
The connection is maintained until it is terminated by the Remove connection using TCP/IP
command.
Field/Button Explanation/instructions
Page Select whether the SIMOTION device is to act as a server or client in the TCP/IP
connection.
The parameter dialog box changes according to the selected value.
Server
The SIMOTION device acts as a server in the TCP/IP connection.
Client
The SIMOTION device acts as a client in the TCP/IP connection.
Parameters for
Page = Server See Overview of parameters for Establish connection using TCP/IP - Parameters for
server
Page = Server See Overview of parameters for Establish connection using TCP/IP - Parameters for client
Delay program execution Select the check box if execution of the subsequent command is to wait until this
command is finished. If the check box is not selected, the next command is executed
immediately.
Table 5- 43 Overview of parameters for Establish connection using TCP/IP - Parameters for server
Field/Button Explanation/instructions
Port number Here, you enter the number of the port where the command waits for a connection
request.
Max. number of parallel Here, you enter the maximum number of parallel connection requests.
connection requests
Return variable Here, you enter the return variable of data type StructRetTcpOpenServer in which the
error message and connection parameters are stored. This variable must be defined in a
declaration table or the symbol browser.
Variable for new connection ID Here, you enter a variable of data type DINT. It contains the new connection ID.
The value is identical with the connection Id component of the return variable.
Table 5- 44 Overview of parameters for Establish connection using TCP/IP - Parameters for client
Field/Button Explanation/instructions
Port number Here, you enter the port number of the client.
IP address of server Here, you enter the IP address of the server.
Port number of the server Here, you enter the port number of the server.
Return variable Here, you enter the return variable of data type StructRetTcpOpenClient in which the error
message and connection parameters are stored. This variable must be defined in a
declaration table or the symbol browser.
Variable for new connection ID Here, you enter a variable of data type DINT. It contains the new connection ID.
The value is identical with the connection Id component of the return variable.
Field/Button Explanation/Instructions
Page Select whether you want to cancel an existing server connection or client connection.
The parameter dialog box changes according to the selected value.
Server
A server connection is canceled.
Client
A client connection is canceled.
Port number Only when Page = Server is selected.
Here, you enter the number of the port where the command waits for a connection
request.
Connection ID: Only when Page = Client is selected.
Here, you enter a variable of data type DINT that contains the connection ID of the
connection to be canceled.
Return variable Enter the return variable from data type DINT in which the error message will be stored.
This variable must be defined in a declaration table or the symbol browser.
< 16#8000: if command execution is okay
>= 16#8000: if an error has occurred
See description for _tcpCloseServer and _tcpCloseConnection functions in the Parameter
Manuals for the SIMOTION devices.
Delay program execution Select the check box if execution of the subsequent command should be delayed until this
command is finished. If the check box is not selected, the next command is executed
immediately.
Field/Button Explanation/instructions
Log You can choose between the different protocols here. The parameter dialog box changes,
accordingly.
XSend/XReceive
The connection is established via PROFIBUS or MPI.
UDP
The connection is established via Ethernet, and the UDP protocol is selected.
TCP/IP
The TCP/IP protocol is selected. You must have configured the TCP/IP connection
beforehand. Use the Establish connection using TCP/IP command.
Parameter tab • For Protocol = XSend/XReceive
See Table Overview of parameters for Send data - Parameter tab (Page 258) for
Protocol = Xsend/XReceive
• For Protocol = UDP
See Table Overview of parameters for Send data - Parameter tab (Page 258) for
Protocol = UDP
• For Protocol = TCP/IP
See Table Overview of parameters for Send data - Parameter tab (Page 258) for
Protocol = TCP/IP
Expert tab see Overview of parameters for Send data - Expert tab (Page 259) Overview of
parameters for Send data - Expert tab
Delay program execution Only when Protocol = Xsend/XReceive or Protocol = TCP/IP is selected.
• Select the check box if you wish to delay execution of the following command until the
current command has been completed. If the check box is not selected, the next
command is executed immediately.
If Protocol = UDP is selected, the next command is immediately processed.
Table 5- 49 Overview of parameters for Send data - Parameters tab for Protocol = Xsend/XReceive
Field/Button Explanation/Instruction
Job identifier Enter the job identifier here. The data type is UDINT.
Return variable Enter the return variable of data type DINT in which the error message will be stored. This
variable must be defined in a declaration table or the symbol browser.
< 16#8000: if command execution is okay
>= 16#8000: if an error has occurred
See description for _Xsend function in the list manuals for the SIMOTION devices.
Communications partner Here, you select the communications partner to which you wish to send data.
Specify address directly
This setting enables you to enter the communications partner's address directly. Use this
selection if the communications partner is not defined in the project (for example,
SIMATIC S7 stations).
Select device from hardware configuration (default value)
This setting enables you to select a SIMOTION device from the current hardware
configuration.
This setting can not be used in libraries.
Device This selection is only active if Select device from hardware configuration is selected in the
"Communications partner" selection field.
Here, you select the receiving device.
You can choose from all SIMOTION devices that can be reached directly by means of a
PROFIBUS or MPI subnet.
Connection of transmitting This selection is only active if Select device from hardware configuration is selected in the
CPU "Communications partner" selection field.
Here, you select the connection of the transmitting SIMOTION device.
Once the receiving device (communications partner) is selected, the PROFIBUS or MPI
connection of the transmitting SIMOTION device is offered.
Destination address of This selection is active only if Specify address directly is active in the "Communications
communications partner partner" list.
Here, you enter the name of the variable in which the destination address of the
communications partner is stored. You define the variable in a declaration table as
StructXSendDestAddr (Xsend/Xreceive protocol).
Continue connection Here, decide whether the connection should remain after data transfer. Select
"Disconnecting" if the device in question is communicating with a large number of nodes.
Disconnecting (default value)
The connection is discontinued after the data transmission.
Connection remains active
The connection remains active after the data transmission.
Data Enter the communication data here. You can enter up to 200 values. The data type must
be BYTE; furthermore, variables of type BYTE can be entered.
Table 5- 50 Overview of parameters for Send data - Parameters tab for Protocol = UDP
Field/Button Explanation/Instruction
Port number of sender Here, you enter the port number of the transmitting SIMOTION device.
IP address of receiver Here, you enter the IP address of the receiver.
Port number of receiver Here, you enter the port number of the receiver.
Socket lifetime Here, decide whether the connection should remain after data transfer. Select Disconnect
socket, if the selected device communicates with many nodes.
Socket remains (default value)
The connection remains active after the data transmission.
Close socket
The connection is discontinued after the data transmission.
Data Enter the communication data here. You can enter up to 1470 values. The data type must
be BYTE; furthermore, variables of type BYTE can be entered.
Table 5- 51 Overview of parameters for Send data – Parameters tab for Protocol = TCP/IP
Field/Button Explanation/Instruction
Connection ID Here, you enter the connection ID.
This value was obtained when the TCP/IP connection was established with the Establish
connection using TCP/IP command.
Data Enter the communication data here. You can enter up to 4096 values. The data type must
be BYTE; furthermore, variables of type BYTE can be entered.
Field/Button Explanation/instructions
The Expert tab is described in detail in the Overview of parameters for Expert tab table.
CommandID variable Only when Protocol = Xsend/XReceive is selected
If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
Return variable Only when Protocol = UDP or Protocol = TCP/IP is selected
If you enter the name of a variable of the data type DINT, you can use this variable to find
out the result of the command call.
< 16#8000: if command execution is okay
>= 16#8000: if an error has occurred
See description for _udpSend and _tcpSend functions in the list manuals for the
SIMOTION devices.
5.4.7.4 Querying the command status for Send data with XSend/XReceive protocol
When the XSend/XReceive protocol is used, you can query the status of the command on
the basis of the CommandID variable using the _GetStateOfXCommand system function
(see list manuals for SIMOTION devices). This is required, in particular, if the Delay program
execution parameter is deactivated. In this way you can avoid an overflow of the send buffer
due to multiple calls of the command.
ST commands can be programmed using the ST zoom, for example.
You cannot query the command status in the UDP or TCP/IP protocols.
5.4.7.5 Structure of destination address of the communications partner, when address is entered
directly (XSend/XReceive protocol)
When you enter the destination address of the communications partner directly in the
XSend/XReceive protocol, you must declare a variable of data type StructXSendDestAddr in
a declaration table or in the symbol browser.
The following table lists the meaning of the individual elements of these data types.
Table 5- 53 Structure of destination address of the communications partner, when address is entered directly (TYPE
StructXSendDestAddr – XSend/XReceive protocol)
Table 5- 54 Parameters (MCC Send data command compared to _XSend system function)
Table 5- 55 Parameters (MCC Send data command compared to _tcpSend system function)
Table 5- 56 Parameters (MCC Send data command compared to _udpSend system function)
This command is used to receive data from a communications partner (such as a SIMATIC
S7 station) using various protocols.
● XSend/XReceive protocol
The connection to the communications partner is established via PROFIBUS or MPI and
does not have to be configured.
SIMOTION devices can receive a maximum of 200 bytes in one unit; the actual useful
data length is dependent on the communications partner.
● UDP protocol
The connection is established via Ethernet with the UDP protocol.
SIMOTION devices can receive a maximum of 1470 bytes in one unit; the actual useful
data length is dependent on the communications partner.
● TCP/IP protocol
The connection is established via Ethernet with the TCP/IP protocol. You must have
configured the TCP/IP connection beforehand. Use the Establish connection using
TCP/IP command.
SIMOTION devices can receive a maximum of 4096 bytes in one unit; the actual useful
data length is dependent on the communications partner.
Field/Button Explanation/instructions
Log You can choose between the different protocols here. The parameter dialog box changes,
accordingly.
XSend/XReceive
The connection is established via PROFIBUS or MPI.
UDP
The connection is established via Ethernet, and the UDP protocol is selected.
TCP/IP
The TCP/IP protocol is selected. You must have configured the TCP/IP connection
beforehand. Use the Establish connection using TCP/IP command.
Parameter tab • For Protocol = XSend/XReceive
See Table Overview of parameters for Receive data - Parameter tab (Page 266) for
Protocol = XSend/XReceive
• For Protocol = UDP
See Table Overview of parameters for Receive data - Parameter tab (Page 266) for
Protocol = UDP
• For Protocol = TCP/IP
See Table Overview of parameters for Receive data - Parameter tab (Page 266) for
Protocol = TCP/IP
Expert tab See Overview of parameters for Receive data - Expert tab (Page 267)
Delay program execution Only when Protocol = XSend/XReceive or Protocol = TCP/IP is selected.
• Select the check box if execution of the subsequent command is to wait until this
command is finished.
If the check box is not selected, the next command is executed immediately.
Only when Protocol = UDP is selected
• Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
If command has been completed or aborted
The next command is executed after the current command has been completed or
aborted.
Abort
The active command is aborted if the port number is the same as that of the previous
call of the command.
See also Transition behavior and step enabling condition (Page 82)
Table 5- 58 Overview of parameters for Receive data – Parameters tab for Protocol = XSend/XReceive
Field/Button Explanation/Instruction
Job identifier Enter the job identifier here. The data type is UDINT.
Return variable Here, you enter the return variable of type StructRetXReceive in which the data, length,
and error message are stored. This variable must be defined in a declaration table or the
symbol browser.
Table 5- 59 Overview of parameters for Receive data - Parameters tab for Protocol = UDP
Field/Button Explanation/Instruction
Return variable Here, you enter the return variable of type StructRetUdpReceive in which the connection
parameters, length, and error message are stored. This variable must be defined in a
declaration table or the symbol browser.
Port number of receiver Here, you enter the port number of the receiver.
Socket lifetime Here, decide whether the connection should remain after data transfer. Select Disconnect
socket, if the selected device communicates with many nodes.
Socket remains (default value)
The connection remains active after the data transmission.
Close socket
The connection is discontinued after the data transmission.
Received useful data bytes Here, you enter the variable of data type ARRAY[0..1469] OF BYTE in which the received
useful data are stored.
The number of bytes of received useful data is available in the dataLength component of
the return variable.
Table 5- 60 Overview of parameters for Receive data – Parameters tab for Protocol = TCP/IP
Field/Button Explanation/Instruction
Return variable Here, you enter the return variable of type StructRetTcpReceive in which the connection
parameters, length, and error message are stored. This variable must be defined in a
declaration table or the symbol browser.
Connection ID Here, you enter the connection ID.
This value was obtained when the TCP/IP connection was established with the Establish
connection using TCP/IP command.
Received useful data bytes Here, you enter the variable of data type ARRAY[0..4095] OF BYTE in which the received
useful data are stored.
The number of bytes of received useful data is available in the dataLength component of
the return variable.
Field/Button Explanation/instructions
The Expert tab is described in detail in the Overview of parameters for Expert tab table.
CommandID variable Only when Protocol = Xsend/XReceive is selected
If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
5.4.8.4 Querying the command status for Receive data with XSend/XReceive protocol
When the XSend/XReceive protocol is used, you can query the status of the command on
the basis of the CommandID variable using the _GetStateOfXCommand system function
(see list manuals for SIMOTION devices). This is required, in particular, if the Delay program
execution parameter is deactivated. In this way you can avoid an overflow of the send buffer
due to multiple calls of the command.
ST commands can be programmed using the ST zoom, for example.
You cannot query the command status in the UDP or TCP/IP protocols.
Table 5- 62 Parameters (MCC Receive data command compared to _XReceive system function)
Table 5- 63 Parameters (MCC Receive data command compared to _tcpReceive system function)
Table 5- 64 Parameters (MCC Receive data command compared to _udpReceive system function)
You use this command to switch the enables on an axis with an electric drive (for axes with a
hydraulic drive, you use the Switch QF-axis enable function).
The force/pressure control can also be enabled or disabled on axes with force/pressure
control.
The following conditions must be satisfied in order to execute motion commands on the axis:
1. Drive enable issued
2. Pulse enabled (power unit enabled)
3. Additional conditions for positioning axes and synchronous axes only: Position controller
enable is issued
Field/Button Meaning/Instruction
Axis In Axis, select the axis for which the axis enable is to be switched.
The list contains:
• All axes with an electric drive that are defined on the relevant device. The axis is
defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of technology object data types (Page 101)) driveAxis, posAxis or
followingAxis.
Parameter tab See Overview of parameters for Switch axis enable – Parameter tab (Page 272)
Expert tab See Overview of parameters for Switch axis enable – Expert tab (Page 273)
Delay program execution Select the check box if you wish the system to delay execution of the following command
in the MCC chart until the command has been completed.
If the check box is not selected, the next command is executed immediately.
Field/Button Meaning/Instruction
Switch position controller For positioning and synchronous axes only:
enable Select the check box if the position controller enable is to be switched. If the check box is
selected:
• The Switch enables individually according to PROFIdrive profiles check box is
cleared.
• The Switch drive enable and Switch pulse enable check boxes are selected.
If the check box is not selected, the current status of the position controller enable is not
changed.
In the case of virtual axes, the position controller enable is always set, even if this
checkbox has not been activated.
The position controller enable must also be set if only speed-controlled operation has
been selected for a position-controlled axis (see parameter Traversing mode).
Current status of position controller enable for a real axis: System variable:
servoMonitorings.controlState.
Switch enables individually Select the check box if you want to be able to switch enables individually in accordance
according to PROFIdrive with the PROFIdrive profile. If the check box is selected:
profiles • The Switch drive enable and Switch pulse enable check boxes are hidden.
• Seven check boxes are displayed for setting the individual bits of control word 1
(STW1) in accordance with PROFIdrive (see Meaning of bits of control word 1
(STW1) in accordance with PROFIdrive).
– Select the check box if you want to assign the corresponding enable.
– Clear the check box if you want to retain the previous setting (enable assigned or
not assigned) for the corresponding enable.
All enables must be assigned for normal operation of the drive.
If the check box is cleared, the Switch drive enable and Switch pulse enable check boxes
are displayed.
Switch drive enable Only if the Switch enables individually according to PROFIdrive profiles check box is
cleared.
Select the check box if the drive enable is to be switched.
If the check box is not selected, the current status of the drive enable is not changed.
Current status of drive enable for a real axis: System variable:
actorMonitorings.driveState.
Switch pulse enable Only if the Switch enables individually according to PROFIdrive profiles check box is
cleared.
Select the check box if the pulse enable (power enable) is to be switched.
If the check box is not selected, the current status of the pulse enable is not changed.
Current status of pulse enable for a real axis: System variable: actorMonitorings.power.
Field/Button Meaning/Instruction
Follow-up mode Here, you decide whether the axis is to be switched out of follow-up mode (see Follow-up
mode for various axis technologies).
Do not follow up setpoint (default value)
Follow-up mode is disabled.
Motion commands for the axis can be executed.
In real axes, Do not follow up setpoint is only effective if all the other enables have been
assigned.
Follow up setpoint
Follow-up mode is enabled.
Motion commands for the axis cannot be executed.
Current status for a real axis, indicating whether motion commands can be executed:
System variable: control.
Traversing mode Maintain last setting (default value)
The axis is enabled with the most last set traversing mode (position and speed control).
Enable for speed- and position-controlled operation
The axis is enabled for speed- and position-controlled operation.
This setting cannot be selected for drive axes.
Enable for speed-controlled operation
The axis is enabled for speed-controlled operation.
If only speed-controlled operation is selected for a position-controlled axis the position
controller enable still has to be set.
Set pressure controller enable For axes with force/pressure control only.
Select the check box if you want to enable force/pressure control.
If the check box is not selected, force/pressure control is disabled.
Field/Button Meaning/Instruction
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
TO properties Here, you can adapt the parameter screen form as needed to reflect the effects of axis
configuration data or system variables.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT, for a description, see Return value for the system functions of the
technology packages (Page 86).
Bit MCC command 'Switch axis enable' MCC command 'Remove axis MCC command 'Switch axis enable'
STW1 enable' / 'Remove axis enable'
Check box selected Check box selected Check box cleared
Enable assigned - the Remove enable - the corresponding the previous setting is retained - the
corresponding bit of the control bit of the control word is set to 0 corresponding bit of the control
word is set to 1 word remains unchanged
0 ON Brakes on the ramp-function Retain
generator (OFF1)
1 Cancel coasting down (no OFF2) Coasting down (OFF2) Retain
2 Cancel quick stop (no OFF3) Quick stop (OFF3) Retain
3 Enable operation Disable operation Retain
4 Enables the ramp-function Disable ramp-function generator Retain
generator
5 Do not freeze ramp-function Freeze ramp-function generator Retain
generator
6 Enable setpoint Disable setpoint Retain
Table 5- 73 Parameters (MCC Switch axis enable command compared to _enableAxis system function)
You use this command to remove the enables from an axis with an electric drive (for axes
with a hydraulic drive, you use the Remove QF axis enable function).
The force/pressure control can also be disabled or enabled on axes with force/pressure
control.
The following conditions must be satisfied in order to execute motion commands on the axis:
1. Drive enable issued
2. Pulse enabled (power unit enabled)
3. Additional conditions for positioning axes and synchronous axes only: Position controller
enable is issued
4. Follow-up operation cancelled
Until all conditions are satisfied, the axis remains in follow-up mode (see Follow-up mode for
various axis technologies in Switch axis enable (Page 270)).
The current status of enables can be accessed via system variables, which are specified in
the description of the respective parameter (see Overview of parameters for Remove axis
enable (Page 277)).
For additional information on axis enables, see the TO Axis Electric/Hydraulic Function
Manual.
Field/Button Explanation/instructions
Axis In Axis, select the axis for which the command is to be programmed.
The list contains:
• All axes with an electric drive that are defined on the relevant device. The axis is
defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)): driveAxis, posAxis, or followingAxis.
Parameter tab See Overview of parameters for Remove axis enable – Parameter tab (Page 277)
Expert tab See Overview of parameters for Remove axis enable – Expert tab (Page 278)
Delay program execution Select the check box if you wish the system to delay execution of the following command
in the MCC chart until the command has been completed.
If the check box is not selected, the next command is executed immediately.
Field/Button Meaning/Instruction
Disable position controller For positioning and synchronous axes only:
Select the check box if the position controller enable is to be removed. If the check box is
selected:
• The Switch enables individually according to PROFIdrive profiles check box is
cleared.
• The Remove drive enable and Remove pulse enable check boxes are selected.
If the check box is not selected, the current status of the position controller enable is not
changed.
In the case of virtual axes, the position controller enable is always set, even if this
checkbox has not been activated.
Current status of position controller enable for a real axis: System variable:
servoMonitorings.controlState.
Switch enables individually Select the check box if you want to be able to switch enables individually in accordance
according to PROFIdrive with the PROFIdrive profile. If the check box is selected:
profiles • The Remove drive enable and Remove pulse enable check boxes are hidden.
• Seven check boxes are displayed for deleting the individual bits of control word 1
(STW1) in accordance with PROFIdrive (see Meaning of bits of control word 1 (STW
1) in accordance with PROFIdrive).
– Enable the check box if you want to remove the corresponding enable.
– Clear the check box if you want to retain the previous setting (enable assigned or
not assigned) for the corresponding enable.
All enables must be assigned for normal operation of the drive.
If the check box is cleared, the Remove drive enable and Remove pulse enable check
boxes are displayed.
Field/Button Meaning/Instruction
Disable drive Only if the Switch enables individually according to PROFIdrive profiles check box is
cleared.
Select the check box if the drive enable is to be removed.
If the check box is not selected, the current status of the drive enable is not changed.
Current status of drive enable for a real axis: System variable:
actorMonitorings.driveState.
Disable pulse Only if the Switch enables individually according to PROFIdrive profiles check box is
cleared.
Select the check box if the pulse enable (power enable) is to be removed.
If the check box is not selected, the current status of the pulse enable is not changed.
Current status of drive enable for a real axis: System variable: actorMonitorings.power.
Follow-up mode Here, you decide whether the axis is to be switched into follow-up mode (see Table
Follow-up mode for various axis technologies (Page 270)).
Follow up setpoint (default value)
Follow-up mode is enabled.
Motion commands for the axis cannot be executed.
Do not follow up setpoint
Follow-up mode is disabled.
Motion commands for the axis can be executed.
In real axes, Do not follow up setpoint is only effective if all the other enables have been
assigned.
Current status for a real axis, indicating whether motion commands can be executed:
System variable: control.
Remove position controller For axes with force/pressure control only.
enable Select the check box if you want to disable force/pressure control.
If the check box is not selected, force/pressure control is enabled.
Field/Button Meaning/Instruction
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
TO properties Here, you can adapt the parameter screen form as needed to reflect the effects of axis
configuration data or system variables.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Table 5- 77 Parameters (MCC Remove axis enable command compared to _disableAxis system function)
You use this command to switch the enables on an axis with a hydraulic drive (for axes with
an electric drive, you use the Switch axis enable function).
The force/pressure control can also be enabled or disabled on axes with force/pressure
control.
The following conditions must be satisfied in order to execute motion commands on the axis:
1. If the Q-valve (actuator for volumetric flow) is assigned to multiple axes: Access to the Q-
valve is ensured
2. Enable for the Q-valve is issued
3. Additional conditions for axes with force/pressure control by means of a pressure control
valve (F-valve, actuator for force/pressure control):
– If the pressure control valve is assigned to multiple axes: Access to the pressure
control valve is ensured
– Enable for the pressure control valve is issued
4. Additional conditions for positioning axes and synchronous axes only: Position controller
enable is issued
5. Follow-up operation cancelled
Until all conditions are satisfied, the axis remains in follow-up mode (see Follow-up mode for
various axis technologies).
The current status of enables can be accessed via system variables, which are specified in
the description of the respective parameter (see Overview of parameters for Switch QF axis
enable (Page 281)).
For additional information on axis enables, see the TO Axis Electric/Hydraulic Function
Manual.
Field/Button Meaning/Instruction
Axis In Axis, select the axis for which the axis enable is to be switched.
The list contains:
• All axes with a hydraulic drive that are defined on the relevant device. The axis
is defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC
chart (see Technology object data types (Page 101)): driveAxis, posAxis, or
followingAxis.
Parameter tab See Overview of parameters for Switch QF axis enable – Parameter tab (Page 282)
QF_Parameters tab See Overview of parameters for Switch QF axis enable – QF_parameter tab
(Page 283)
Expert tab See Overview of parameters for Switch QF axis enable – Expert tab (Page 284)
Delay program execution Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the command has been completed.
If the check box is not selected, the next command is executed immediately.
Field/Button Explanation/Instructions
Switch position controller enable For positioning and synchronous axes only:
Select the check box if the position controller enable is to be switched.
If the check box is not selected, the position controller enable is removed.
In the case of virtual axes, the position controller enable is always set, even if this
checkbox has not been activated.
Current status of position controller enable for a real axis: System variable:
servoMonitorings.controlState.
Set pressure controller enable For axes with force/pressure control only.
Select the check box if you want to enable force/pressure control.
If the check box is not selected, force/pressure control is disabled.
Follow-up mode Here, you decide whether the axis is to be switched out of follow-up mode (see
Follow-up mode for various axis technologies).
Do not follow up setpoint (default value)
Follow-up mode is disabled.
Motion commands for the axis can be executed.
In real axes, Do not follow up setpoint is only effective if all the other enables have
been assigned.
Follow up setpoint
Follow-up mode is enabled.
Motion commands for the axis cannot be executed.
Current status for a real axis, indicating whether motion commands can be
executed: System variable: control.
Traversing mode Maintain last setting (default value)
The axis is enabled with the most last set traversing mode (position and speed
control).
Enable for speed- and position-controlled operation
The axis is enabled for speed- and position-controlled operation.
This setting cannot be selected for drive axes.
Enable for speed-controlled operation
The axis is enabled for speed-controlled operation.
This setting cannot be used to traverse a hydraulic axis with closed-loop velocity
control using open-loop velocity-control.
Field/Button Explanation/instructions
Access to Q-valve If the Q-valve (actuator for volumetric flow) is assigned to multiple axes:
Here, you select whether or not the axis has access to the Q-valve.
No change in access (default value)
There are no changes in access to the Q-valve
Request valve access
Access to the Q-valve is requested.
Access is blocked for other axes.
Enable valve access
Access to the Q-valve is enabled.
Another axis can access the Q-valve.
Current status for access to the Q-valve for a real axis: System variable:
actorMonitoring.qOutputState.
Set Q-valve enable Here, you select the enables for the Q-valve.
Set enable
Enable for the Q-valve is set
Remove enable
Enable for the Q-valve is removed
No change in enables (default value)
The current enable for the Q-valve is not changed
Current status of enable for the Q-valve for a real axis: Systemvariable
actorMonitoring.driveState.
Up rate limit value The rise of the manipulated variable is limited:
• During a transition from or to a substitute value (requesting or enabling access
to the Q-valve).
• During a characteristic change
Enter the value in the editable selection list.
Preassignment
System variable for preassigned value: userDefaultQFAxis.maxDerivative.QOutput
Access to pressure control valve If the pressure control valve (F-valve, actuator for force/pressure control) is
assigned to multiple axes:
Here, you select whether or not the axis has access to the pressure control valve.
No change in access (default value)
There are no changes in access to the pressure control valve
Request valve access
Access to the pressure control valve is requested.
Access is blocked for other axes.
Enable valve access
Access to the pressure control valve is enabled.
Another axis can access the pressure control valve.
Current status for access to the pressure control valve for a real axis: System
variable: actorMonitoring.fOutputState.
Field/Button Explanation/instructions
Set pressure control valve enable Here, you select the enables for the pressure control valve.
Set enable
Enable for the pressure control valve is set
Remove enable
Enable for the pressure control valve is removed
No change in enables (default value)
The current enable for the pressure control valve is not changed
Current status of enable for the pressure control valve for a real axis:
Systemvariable actorMonitoring.fOutputEnable.
Up rate limit value The rise of the manipulated variable is limited:
During a transition from or to a substitute value (requesting or enabling access to
the pressure control valve).
During a characteristic change
Enter the value in the editable selection list.
Preassignment
System variable for preassigned value: userDefaultQFAxis.maxDerivative.FOutput
Field/Button Meaning/Instruction
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
TO properties Here, you can adapt the parameter screen form as needed to reflect the effects of
axis configuration data or system variables.
Return variable If you enter the name of a variable of the specified data type, you can use this
variable to find out the result of the command call.
Table 5- 82 Parameters (MCC Switch QF axis enable command compared to _enableQFAxis system function)
You use this command to remove the enables from an axis with a hydraulic drive (for axes
with an electric drive, you use the Remove axis enable function).
The force/pressure control can also be enabled or disabled on axes with force/pressure
control.
The following conditions must be satisfied in order to execute motion commands on the axis:
1. If the Q-valve (actuator for volumetric flow) is assigned to multiple axes: Access to the Q-
valve is ensured
2. Enable for the Q-valve is issued
3. Additional conditions for axes with force/pressure control by means of a pressure control
valve (F-valve, actuator for force/pressure control):
– If the pressure control valve is assigned to multiple axes: Access to the pressure
control valve is ensured
– Enable for the pressure control valve is issued
4. Additional conditions for positioning axes and synchronous axes: Position controller
enable is issued
5. Follow-up operation cancelled
Until all conditions are satisfied, the axis remains in follow-up mode (see Follow-up mode for
various axis technologies).
The current status of enables can be accessed via system variables, which are specified in
the description of the respective parameter (see Overview of parameters for Remove QF
axis enable (Page 287)).
For additional information on axis enables, see the TO Axis Electric/Hydraulic Function
Manual.
Field/Button Explanation/instructions
Axis In Axis, select the axis for which the axis enable is to be switched.
The list contains:
• All axes with a hydraulic drive that are defined on the relevant device. The axis is
defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)): driveAxis, posAxis, or
followingAxis.
Parameter tab See Overview of parameters for Remove QF axis enable – Parameter tab (Page 288)
QF_Parameters tab See Overview of parameters for Remove QF axis enable – QF_parameter tab
(Page 289)
Expert tab See Overview of parameters for Remove QF axis enable – Expert tab (Page 290)
Delay program execution Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the command has been completed.
If the check box is not selected, the next command is executed immediately.
Field/Button Explanation/instructions
Disable position controller For positioning and synchronous axes only:
Select the check box if the position controller enable is to be removed.
If the check box is not selected, the position controller enable is switched.
In the case of virtual axes, the position controller enable is always set, even if this check box
has not been activated.
Current status of position controller enable for a real axis: System variable:
servoMonitorings.controlState.
Remove position controller For axes with force/pressure control only.
enable Select the check box if you want to disable force/pressure control.
If the check box is not selected, force/pressure control is enabled.
Follow-up mode Here, you decide whether the axis is to be switched into follow-up mode (see Follow-up
mode for various axis technologies).
Follow up setpoint (default value)
Follow-up mode is enabled.
Motion commands for the axis cannot be executed.
Do not follow up setpoint
Follow-up mode is disabled.
Motion commands for the axis can be executed.
In real axes, Do not follow up setpoint is only effective if all the other enables have been
assigned.
Current status for a real axis, indicating whether motion commands can be executed:
System variable: control.
Field/Button Explanation/instructions
Access to Q-valve If the Q-valve (actuator for volumetric flow) is assigned to multiple axes:
Here, you select whether or not the axis enables access to the Q-valve.
No change in access (default value)
There are no changes in access to the Q-valve
Enable valve access (default value)
Access to the Q-valve is enabled.
Another axis can access the Q-valve.
Current status for access to the Q-valve for a real axis: Systemvariable
actorMonitoring.qOutputState
Set Q-valve enable Here, you select whether the enables for the Q-valve are removed.
Remove enable
Enable for the Q-valve is removed
No change in enables (default value)
The current enable for the Q-valve is not changed
Current status of enable for the Q-valve for a real axis: Systemvariable
actorMonitoring.driveState.
Substitute value for the Q- Here, you select whether a substitute value is to be set for the Q-valve. The substitute value
valve is set is applied if no axis has access to the Q-valve.
Set substitute value
You enter the substitute value in the subsequent input field.
No change in the substitute value (default value)
Substitute value is not changed.
Substitute value Here, you enter the substitute value for the Q-valve.
Up rate limit value The rise of the manipulated variable is limited:
• During a transition from or to a substitute value (requesting or enabling access to the Q-
valve).
• During a characteristic change
Enter the value in the editable selection list.
Default
System variable for preassigned value: userDefaultQFAxis.maxDerivative.QOutput
Access to pressure control If the pressure control valve (F-valve, F-actuator) is assigned to multiple axes:
valve Here, you select whether or not the axis enables access to the pressure control valve.
No change in access (default value)
There are no changes in access to the pressure control valve
Enable valve access
Access to the pressure control valve is enabled.
Another axis can access the pressure control valve.
Current status for access to the pressure control valve for a real axis: System variable:
actorMonitoring.fOutputState.
Field/Button Explanation/instructions
Set pressure control valve Here, you select whether the enables for the pressure control valve are removed.
enable Remove enable
Enable for the pressure control valve is removed
No change in enables (default value)
The current enable for the pressure control valve is not changed
Current status of enable for the pressure control valve for a real axis: Systemvariable
actorMonitoring.fOutputEnable.
Substitute value for Here, you select whether a substitute value is to be set for the pressure control valve. The
pressure control valve substitute value is applied if no axis has access to the pressure control valve.
enable Set substitute value
You enter the substitute value in the subsequent input field.
No change in the substitute value (default value)
Substitute value is not changed
Substitute value Here, you enter the substitute value for the pressure control valve.
Up rate limit value The rise of the manipulated variable is limited:
During a transition from or to a substitute value (requesting or enabling access to the
pressure control valve).
During a characteristic change
Enter the value in the editable selection list.
Preassignment
System variable for preassigned value: userDefaultQFAxis.maxDerivative.FOutput
Field/Button Meaning/Instruction
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
TO properties Here, you can adapt the parameter screen form as needed to reflect the effects of axis
configuration data or system variables.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Table 5- 87 Parameters (MCC Remove QF axis enable command compared to _disableQFAxis system function)
For additional information on moving axes, see the TO Axis Electric/Hydraulic Function
Manual.
Field/Button Meaning/Instruction
Axis In Axis, select which axis the command is being programmed for. The list contains:
• All axes that are defined on the relevant device. The axis is defined in the AXES folder
in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): driveAxis, posAxis,
or followingAxis.
Parameter tab See Overview of parameters for Speed specification - Parameters tab (Page 294)
Dynamics tab See Overview of parameters for Speed specification - Dynamics tab (Page 295)
Expert tab See Overview of parameters for Speed specification - Expert tab (Page 295)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of
the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82)
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command buffer
before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83)
See also
Dynamics tab (Page 75)
Editable selection list (editable combo box) (Page 66)
Selection list (combo box) (Page 65)
Field/Button Explanation/Instruction
speed Speed value during the constant speed phase.
Enter the value in the editable selection list (see Editable selection list (editable combo box)
(Page 66)).
Resulting velocity
An existing acceleration or deceleration motion of the axis is ended, taking into account the
jerk parameters in the Dynamic response tab. The axis continues at the resulting velocity. The
programmed transition behavior must be "Substitute".
Current
last speed programmed
Preassigned value (default)
See also Selection list (combo box) (Page 65)
System variable for preassigned value: userDefaultDynamics.velocity
See also Dynamic response tab in the Input fields and selection lists section and the Overview
of parameters for the Dynamic response tab table included in this section.
Direction Select the direction of rotation.
From speed sign
Direction is obtained from speed sign.
Positive
Positive direction
Negative
Negative direction
last direction programmed
Preassigned value (default)
See also Selection list (combo box) (Page 65)
System variable for preassigned value: userDefaultDynamics.direction
Field/Button Explanation/Instruction
The Dynamics tab is described in detail in Overview of parameters in the Dynamics tab
(Page 75).
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for preassigned value: userDefaultDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefaultDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefaultDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and end of
the respective phase.
System variables for preassigned value: userDefaultDynamics.positiveAccelStartJerk
userDefaultDynamics.positiveAccelEndJerk userDefaultDynamics.negativeAccelStartJerk
userDefaultDynamics.negativeAccelEndJerk
Constant traversing time A time limit can be programmed for the command.
To so so, select the check box and enter the time duration of the constant motion phase.
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status with
this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to find
out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the technology
packages (Page 86).
Table 5- 92 Parameters (MCC Speed specification command compared to _move system function)
For additional information on moving axes, see the TO Axis Electric/Hydraulic Function
Manual.
Field/Button Explanation/instructions
Axis In Axis, select the axis for which the command is to be programmed. The list contains:
• All positioning and synchronous axes that are defined on the relevant device. The axis
is defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): posAxis or
followingAxis.
Parameter tab See Overview of parameters for Start axis position-controlled – Parameter tab (Page 299)
Dynamics tab See Overview of parameters for Start axis position-controlled – Dynamics tab
(Page 299)
Expert tab See Overview of parameters for Start axis position-controlled – Expert tab (Page 300)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of
the command in the command queue.
See also Transition behavior and step enabling condition (Page 82)
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command buffer
before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Transition behavior and step enabling condition (Page 82)
Field/Button Explanation/instructions
Velocity Velocity value during the constant velocity phase.
Enter the value in the editable selection list (see Editable selection list (editable combo
box)).
Resulting velocity
An existing acceleration or deceleration motion of the axis is ended, taking into account
the jerk parameters in the Dynamics tab. The axis continues at the resulting velocity.
Current
Last programmed velocity
Preassigned value (default value)
System variable for preassigned value: userDefaultDynamics.velocity
Direction Select the direction of motion here.
From velocity sign
Direction is obtained from the sign of the velocity.
Negative
Negative direction
Positive
Positive direction
Last programmed direction
Preassigned value (default value)
System variable for preassigned value: userDefaultDynamics.direction
5.5.6.3 Overview of parameters for Start axis position-controlled – Dynamic response tab
Table 5- 95 Overview of parameters for Start axis position-controlled – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for preassigned value: userDefaultDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefaultDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefaultDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value: userDefaultDynamics.positiveAccelStartJerk
userDefaultDynamics.positiveAccelEndJerk userDefaultDynamics.negativeAccelStartJerk
userDefaultDynamics.negativeAccelEndJerk
Constant traversing time A time limit can be programmed for the command.
To so so, select the check box and enter the time duration of the constant motion phase.
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Table 5- 97 Parameters (MCC Start axis position-controlled command compared to _move system function)
This command stops the motion of an axis and is effective for all single axis motions. The
motion can be stopped with Normal stop or Quick stop.
● Normal stop: This command acts on all single axis motions (positioning and speed
motions), but not on synchronous motions.
● Quick stop: This command also acts on synchronous motions. In addition, the axis is
disabled with respect to further motion commands; this state can be cancelled with the
commands Remove axis enable or Reset object.
For additional information on the quick stop function, see the TO Axis Electric/Hydraulic
Function Manual.
For additional information on the normal stop function, see the TO Axis Electric/Hydraulic
Function Manual.
For additional information on the traversing mode, see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Explanation/instructions
Axis In Axis, select which axis is to be stopped. The list contains:
• All axes that are defined on the relevant device. The axis is defined in the AXES folder
in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): driveAxis, posAxis,
or followingAxis.
Parameter tab See Overview of parameters for Stop axis – Parameter tab (Page 303)
Dynamics tab See Overview of parameters for Stop axis – Dynamics tab (Page 304)
Expert tab See Overview of parameters for Stop axis – Expert tab (Page 305)
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command buffer
before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
Field/Button Explanation/instructions
Stop mode Select a stop mode here. Only those motions that have been stopped in "normal stop
without abort" mode can be continued with the Continue motion command. No other
motions can be continued.
In the case of a quick stop, the axis is disabled with respect to further motion commands;
this state can be cancelled with the commands Remove axis enable or Reset object.
Normal stop without abort (default value)
The motion specified in the Selection field is stopped with the programmed dynamics
parameters (Dynamics tab – see Overview of parameters for Stop axis - Dynamics tab
(Page 304)). It can be continued with the Continue motion command. No other
commands for the axis may be programmed between the stop command and the
continue command.
The command does not act on synchronous motions.
Normal stop with abort
The motion specified in the Selection field is stopped with the programmed dynamics
parameters (Dynamics tab – see Overview of parameters for Stop axis - Dynamics tab
(Page 304)). The motion cannot be continued.
The command does not act on synchronous motions.
Quick stop at maximum deceleration
The motion is stopped according to interpolation using the maximum dynamic values on
the axis. It cannot be continued.
Quick stop within defined period
The motion can be brought to a standstill in the programmed time. You program the time
in the Time for deceleration parameter in the Dynamics tab. The motion cannot be
continued.
Stopping with preassigned braking ramp
The motion is stopped using the braking ramp in the controller. This is set during
configuration. The motion cannot be continued.
Quick stop with dynamics parameters
The motion is stopped with the programmed dynamics parameters (Dynamics tab – see
Overview of parameters for Stop axis - Dynamics tab (Page 304)). The motion cannot be
continued.
Selection Select whether you want to stop the motion as a whole, only the basic motion, or only the
superimposed motion.
This parameter can only be selected for the following stop modes:
• Normal stop without abort (default value)
• Normal stop with abort
All motions (default value)
All motions of the programmed axis are stopped.
Basic motion
The basic motion is stopped.
Superimposed motion
The superimposed motion is stopped.
Field/Button Explanation/instructions
Traversing mode Position-controlled
For positioning and synchronous axes only: Axis is switched from the current traversing
mode (for example, speed control, force control, or torque control) to position control, and
stopped.
Closed-loop speed controlled
Axis is switched from the current traversing mode (for example, position control, force
control, or torque control) to speed control, and stopped. The speed ramp takes effect
immediately; an existing following error does not have to be removed first.
If position-controlled motions are stopped in speed-controlled mode, the axis is disabled
with respect to further motion commands; this state can be cancelled with the commands
Remove axis enable or Reset object.
Last set traversing mode (default value)
Axis is switched from the current traversing mode (for example, position control, speed
control, force control, or torque control) to the last set traversing mode (position or speed
control), and stopped.
Table 5- 100 Overview of parameters for Stop axis – Dynamic response tab
Field/Button Explanation/Instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for default: userDefaultDynamics.profile
Acceleration The meaning depends on the acceleration model used, which can be selected via the
configuration data TypeOfAxis.DecodingConfig.directionDynamic:
• Non-direction-based acceleration model
TypeOfAxis.DecodingConfig.directionDynamic = NO (default value)
The value has no effect.
• Direction-based acceleration model
TypeOfAxis.DecodingConfig.directionDynamic = YES
The value causes deceleration when the direction of rotation is negative and has no
effect when the direction of rotation is positive.
The entered value acts during the constant deceleration phase.
For additional information on specifying the acceleration and deceleration (acceleration
model), see the TO Axis Electric/Hydraulic Function Manual.
System variable for default: userDefaultDynamics.positiveAccel
Field/Button Explanation/Instructions
Deceleration The meaning depends on the acceleration model used, which can be selected via the
configuration data TypeOfAxis.DecodingConfig.directionDynamic:
• Non-direction-based acceleration model
TypeOfAxis.DecodingConfig.directionDynamic = NO (default)
The value causes deceleration in the motion of the axis, independent of the direction
of motion.
• Direction-based acceleration model
TypeOfAxis.DecodingConfig.directionDynamic = YES
The value causes deceleration when the direction of rotation is positive and has no
effect when the direction of rotation is negative.
The entered value acts during the constant deceleration phase.
For additional information on specifying the acceleration and deceleration (acceleration
model), see the TO Axis Electric/Hydraulic Function Manual.
System variable for default: userDefaultDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for default: userDefaultDynamics.positiveAccelStartJerk
userDefaultDynamics.positiveAccelEndJerk userDefaultDynamics.negativeAccelStartJerk
userDefaultDynamics.negativeAccelEndJerk
Time for deceleration The entered value determines the duration of the braking operation in the Quick stop
within defined period stop mode.
System variable for default: userDefaultDynamics.stopTime
See also
Dynamics tab (Page 75)
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the Cam
technology package.
Table 5- 102 Parameters (MCC Stop axis command compared to _stop, _stopEmergency system functions)
This command continues a motion that has been stopped. The following motions can be
continued:
● All speed-controlled motions that were brought to a standstill using the Normal stop
without abort stop mode,
● all position-controlled motions that were brought to a standstill using the Normal stop
without abort stop mode and not in speed-controlled mode.
The axis must not receive any new motion commands between interruption and continuation
of the interrupted motion.
For additional information on continuing motions, see the TO Axis Electric/Hydraulic Function
Manual.
Field/Button Explanation/instructions
Axis In Axis, select which axis for which motion is to be continued. The list contains:
• All axes that are defined on the relevant device. The axis is defined in the AXES folder in
the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart (see
Description of the technology object data types (Page 101)): driveAxis, posAxis, or
followingAxis.
Parameter tab See Overview of parameters for Continue motion - Parameter tab (Page 308)
Expert tab See Overview of parameters for Continue motion - Expert tab (Page 308)
Field/Button Explanation/instructions
Selection Here, select which axis motion component is to be continued.
All motions (default value)
All motions of the programmed axis are continued.
Basic motion
The basic motion is continued.
Superimposed motion
The superimposed motion is continued.
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the technology
packages (Page 86).
Table 5- 106 Parameters (MCC Continue motion command compared to _continue system function)
With a position axis or synchronized axis, the position values that are displayed or entered
refer to the coordinate system of the axis. The coordinate system of the axis must be aligned
to the real physical position of the axis.
If you are using an absolute measuring system, the alignment need only be done once
during commissioning. When commissioning is completed, the position value will be known
when the machine is switched on.
With an incremental measuring system, the alignment must be repeated each time the
machine is switched on. The alignment is achieved via homing.
Note
Traversing commands with relative position specification can always be executed.
The axis can be configured to indicate whether traversing commands with absolute position
specification can also be executed on a non-homed axis. Configuration data:
TypeOfAxis.homing.referencingNecessary.
For additional information on homing, see the TO Axis Electric/Hydraulic Function Manual.
Field/Button Explanation/instructions
Axis In Axis, select which axis is to be homed. The list contains:
• All positioning and synchronous axes that are defined on the relevant device. The axis
is defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)): posAxis or followingAxis.
Parameter tab See Overview of parameters for Home axis – Parameter tab (Page 312)
Dynamics tab See Overview of parameters for Home axis – Dynamics tab (Page 313)
Expert tab See Overview of parameters for Home axis – Expert tab (Page 313)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of
the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82)
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command buffer
before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83)
See also
Transition behavior and step enabling condition (Page 82)
Field/Button Meaning/Instruction
Homing type Select among the permitted homing types:
Active homing (default value)
Homing occurs by means of a separate traversing motion of the axis.
The homing mode is specified when you configure the axis during the commissioning
phase.
Passive homing
The homing command itself does not trigger any active traversing motion of the axis.
Rather, homing occurs during the next axis motion.
The homing mode is specified when you configure the axis during the commissioning
phase.
Required settings:
For Home axis: Clear the Delay program execution check box.
For the subsequent command: Select Attach as the transition behavior from the active
command.
Set home position
The value of the home position coordinate is assigned to the current position (actual
value) of the axis. There is no active traversing motion.
Relative home position setting
The value of the home position coordinate is added to the current position (actual value)
of the axis. There is no active traversing motion.
Absolute encoder adjustment
Absolute encoder adjustment is only possible if the axis was configured as an absolute
encoder or a cyclic absolute encoder during commissioning. The offset between the axis
zero point and the encoder zero point is determined by selecting a value for the absolute
encoder offset. There is no active traversing motion.
The adjustment generally only needs to be repeated in exceptional circumstances (see
"Motion Control TO Axis Electric/Hydraulic, External Encoder" function manual).
Absolute encoder adjustment with specification of the position value
Absolute encoder adjustment with specification of the position value is only possible if the
axis was configured as an absolute encoder or a cyclic absolute encoder during
commissioning.
The value of the home position coordinate is assigned to the current position (actual
value) of the axis, and the offset (absolute encoder offset) between the axis zero point
and the encoder zero point is calculated from this. There is no active traversing motion.
The adjustment generally only needs to be repeated in exceptional circumstances (see
"Motion Control TO Axis Electric/Hydraulic, External Encoder" function manual).
Home position coordinates Not when homing type = absolute encoder adjustment.
Coordinates of the home position in the reference system of the axis.
Enter the value in the editable selection list (see Editable selection list (editable combo
box)).
Default value
See Selection list (combo box) table.
System variable for preassigned value: userDefaultHoming.homingPosition
Field/Button Meaning/Instruction
Homing approach velocity Only when homing type = Active homing.
Velocity at which the axis approaches the homing output cam (only with homing mode
With homing output cam and encoder zero mark or Encoder zero mark only)
Enter the value in the editable selection list (see Editable selection list (editable combo
box) (Page 66)).
Current
last programmed
default value
See Selection list (combo box) (Page 65).
System variable for preassigned value: userDefaultHoming.homingApproachVelocity
Table 5- 109 Overview of parameters for Home axis – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
The parameters in the Dynamic response tab are evaluated only with homing type Active
homing.
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for preassigned value: userDefaultDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefaultDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefaultDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value: userDefaultDynamics.positiveAccelStartJerk
userDefaultDynamics.positiveAccelEndJerk userDefaultDynamics.negativeAccelStartJerk
userDefaultDynamics.negativeAccelEndJerk
Field/Button Meaning/Instruction
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
TO properties Here, you can adapt the parameter screen form as needed to reflect the effects of axis
configuration data or system variables.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 111 Parameters (MCC Home axis command compared to _homing system function)
This command moves the defined axis (rotary axis, modulo axis, or linear axis) to a position.
The position value entered can be absolute or relative. Modulo axes can also be positioned
via the "shortest path".
The programmed position must lie within the software limit switches.
For additional information on position axes, see the TO Axis Electric/Hydraulic Function
Manual.
Field/Button Explanation/instructions
Axis In Axis, select which axis is to travel to a target position. The list contains:
• All positioning and synchronous axes that are defined on the relevant device. The axis
is defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): posAxis or
followingAxis.
Parameter tab See Overview of parameters for Position axis – Parameter tab (Page 319)
Dynamics tab See Overview of parameters for Position axis – Dynamics tab (Page 320)
Expert tab See Overview of parameters for Position axis – Expert tab (Page 320)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of
the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command buffer
before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
Field/Button Explanation/instructions
Position The meaning depends on the following type parameter:
• "Absolute" type: End position of the motion
• "Relative" type: Distance traversed during the motion, starting from the current axis position.
Enter the value as a signed floating-point number.
Type Here, you specify the meaning of the programmed position in more detail (see above).
Absolute(default value)
The programmed position value is the end position of the motion.
Relative
The value entered in Position generates the traversing distance of the motion, starting from the
current axis position.
Direction Select the direction of the motion. The direction of the motion must be specified in the following
cases:
• Type of motion (see above) is relative (for all axes).
• Type of motion (see above) is absolute and the axis is a modulo rotary axis.
If a positive or negative direction is programmed, the direction has a higher priority than the
position. The position is approached as an absolute value, a negative absolute value, or as a
function of sign. The velocity sign is determined by the specified direction.
Positive
The direction of motion for the command is in the positive axis direction. With relative motion, the
sign of the position is ignored.
Negative
The direction of motion for the command is in the negative axis direction. With relative motion, the
sign of the position is ignored.
From position (for relative type only)
The direction of motion is determined by the position sign.
Shortest path (for absolute and modulo rotary axis only)
The direction of motion for the present command is the direction in which the programmed target
position can be reached via the shortest path.
Last direction set in the program
See Selection list (combo box) (Page 65)
Velocity Velocity value during the constant velocity phase.
Enter the value in the editable selection list (see Editable selection list (editable combo box)
(Page 66)).
Current
Last programmed velocity
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefaultDynamics.velocity
See also Dynamics tab (Page 75).
Table 5- 115 Overview of parameters for Position axis – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for preassigned value: userDefaultDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefaultDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefaultDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value: userDefaultDynamics.positiveAccelStartJerk
userDefaultDynamics.positiveAccelEndJerk userDefaultDynamics.negativeAccelStartJerk
userDefaultDynamics.negativeAccelEndJerk
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
TO properties Here, you can adapt the parameter dialog box as needed to reflect the effects of axis
configuration data or system variables.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 117 Parameters (MCC Position axis command compared to _pos system function)
For additional information on traveling to fixed end stop, see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Explanation/Instruction
Axis In Axis, select which axis the command is being programmed for. The list contains:
• All positioning and synchronous axes that are defined on the relevant device. The axis
is defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): posAxis or
followingAxis.
Parameter tab See Overview of parameters for Travel to fixed end stop – Parameters tab (Page 324)
Expert tab See Overview of parameters for Travel to fixed end stop – Expert tab (Page 325)
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
If command has been completed or aborted
The next command is executed after the current command has been completed or
aborted.
If clamping value is reached
The next command is executed as soon as the clamping value is reached.
See also Delay program execution (step enabling condition) (Page 83).
Table 5- 119 Overview of parameters for Travel to fixed endstop – Parameters tab
Field/Button Explanation/instructions
Clamping value Value to which the torque is limited.
Enter the value in the editable selection list (see Editable selection list (editable combo
box) (Page 66)).
Last programmed torque
Preassignment (default value)
See also Selection list (combo box) (Page 65)
System variable for preassigned value: userDefaultClamping.ClampingValue.
Table 5- 120 Overview of parameters for Travel to fixed endstop – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 121 Parameters (MCC Travel to fixed endstop command compared to _enableMovingToEndStop)
This command is used to deactivate monitoring of "Travel to fixed end stop" in parallel with
an axis motion activated by a motion command and to discontinue retention of a clamping
torque after reaching the fixed end stop.
The axis is placed in position-controlled operation.
For additional information on traveling to fixed end stop, see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Explanation/Instruction
Axis In Axis, select which axis the command is being programmed for. The list contains:
• All positioning and synchronous axes that are defined on the relevant device. The axis
is defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): posAxis or
followingAxis.
CommandID variable Enter the name of a variable of data type CommandIdType here. With the help of this
variable, you can, for example, trace back the status of the command.
Variables of data type CommandIdType declared in the MCC source file or MCC chart
are provided for selection.
If you leave the CommandID variable field empty, the CommandID is not assigned to any
variables; this means that you cannot access the CommandID (standard).
See also Overview of parameters for the Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 79).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
If command has been completed or aborted
The next command is executed only after the current command has been completed
or aborted.
See also Delay program execution (step enabling condition) (Page 83).
See also
Return value for the system functions of the technology packages (Page 86)
Table 5- 123 Parameters (MCC Remove fixed endstop command compared to _disableMovingToEndStop system function)
This command is used to enable torque limitation in parallel to the motion. The torque
limitation acts immediately.
For additional information on torque limitation, see the TO Axis Electric/Hydraulic Function
Manual.
Field/Button Explanation/Instruction
Axis In Axis, select which axis the command is being programmed for. The list contains:
All axes that are defined on the relevant device. The axis is defined in the AXES folder in
the project navigator.
All technology object-type variables declared in the MCC source file or MCC chart (see
Description of the technology object data types (Page 101) technology object data types):
driveAxis, posAxis, or followingAxis.
Parameters tab See Overview of parameters for Switch on torque limitation – Parameters tab (Page 331)
Expert tab See Overview of parameters for Switch on torque limitation – Expert tab (Page 332)
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
If command has been completed or aborted
The next command is executed after the current command has been completed or
aborted.
As soon as the torque is limited
The next command is executed as soon as limiting is initiated.
As soon as torque limiting is disabled
The next command is executed as soon as limiting is disabled.
See also Delay program execution (step enabling condition) (Page 83).
Table 5- 125 Overview of parameters for Switch on torque limitation – Parameters tab
Field/Button Meaning/Instruction
Clamping value Value to which the torque or force is limited.
Enter the value in the editable selection list (see Editable selection list (editable combo
box) (Page 66)).
Last programmed
The last torque or force limit programmed is applied.
Preassignment (default limit)
The default torque or force limit is applied.
See also: Selection list (combo box) (Page 65)
System variable for preassigned value: userDefaultTorqueLimiting.torqueLimit.
Units Definition of whether the value in the Clamping value field is interpreted as a torque/force
limit on the load or motor end, whereby the unit (torque, force or pressure) is also
determined indirectly.
Load side
The value in the Clamping value field is interpreted as a torque/force limit on the load
side.
Rotary axis/speed-controlled axis: Torque in the unit of measurement selected on the TO
axis, e.g., Nm
Linear axis: Force/pressure in the unit of measurement selected on the TO axis, e.g., N or
Pa
Motor
The value in the Clamping value field is interpreted as a torque/force limit on the drive
side.
Rotary motor: Torque in the unit of measurement selected on the TO axis, e.g., Nm
Linear motor: Force in the unit of measurement selected on the TO axis, e.g., N
%
We distinguish between the following situations in this context:
Direct entry in the "Clamping value" field
Here, the value entered is interpreted as a percentage.
The default value for the torque or power limit (system variable is
userDefaultTorqueLimiting.torqueLimit) is reduced to this percentage.
This reduced limit value is interpreted as a torque/force limit for the load side.
Selecting "Last programmed" in the "Clamping value" field
Here, selecting % has no effect.
The last programmed torque or force limit is interpreted as the torque/force limit for the
load side.
Selecting "Default" in the "Clamping value" field
Here, selecting % has no effect.
The default value for the torque or force limit (system variable is
userDefaultTorqueLimiting.torqueLimit) is interpreted as the torque/force limit for the load
side.
Table 5- 126 Overview of parameters for Switch on torque limitation – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 127 Parameters (MCC Switch on torque limiting command compared to _enableTorqueLimiting system function)
This command is used to switch off torque limitation superimposed on motion commands.
For additional information on torque limitation, see the TO Axis Electric/Hydraulic Function
Manual.
Field/Button Explanation/Instruction
Axis In Axis, select which axis the command is being programmed for. The list contains:
All axes that are defined on the relevant device. The axis is defined in the AXES folder in
the project navigator.
All technology object-type variables declared in the MCC source file or MCC chart (see
Description of the technology object data types (Page 101)): driveAxis, posAxis, or
followingAxis.
CommandID variable Enter the name of a variable of data type CommandIdType here. With the help of this
variable, you can, for example, trace back the status of the command.
Variables of data type CommandIdType declared in the MCC source file or MCC chart
are provided for selection.
If you leave the CommandID variable field empty, the CommandID is not assigned to any
variables; this means that you cannot access the CommandID (standard).
See also Overview of parameters for the Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
If command has been completed or aborted
The next command is executed after the current command has been completed or
aborted.
See also Delay program execution (step enabling condition) (Page 83).
Table 5- 129 Parameters (MCC Switch off torque limitation command compared to _disableTorqueLimiting system function)
With this command, the axis moves along a velocity profile preset by a cam. The definition
range (x-axis) of the cam is interpreted as time, the value range (y-axis) as the
corresponding velocity.
The profile is traversed from a selectable starting time to the end of the cam.
For additional information on the time-dependent velocity profile, see the TO Axis
Electric/Hydraulic Function Manual.
For additional information on the position-related velocity profile, see the TO Axis
Electric/Hydraulic Function Manual.
Field/Button Explanation/instructions
Axis In Axis, select the axis that is to move along the velocity profile. The list contains:
• All axes that are defined on the relevant device. The axis is defined in the AXES folder
in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): driveAxis, posAxis,
or followingAxis.
Profile tab See Overview of parameters for Time-dependent velocity profile – Profile tab (Page 336)
Dynamics tab See Overview of parameters for Time-dependent velocity profile – Dynamics tab
(Page 337)
Expert tab See Overview of parameters for Time-dependent velocity profile – Expert tab (Page 337)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of
the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83)
Table 5- 131 Overview of parameters for Time-dependent velocity profile – Profile tab
Field/Button Explanation/Instruction
Profile Here, you select the cam that describes the time-dependent velocity profile. The following
are available:
• All cams that are defined on the relevant device. The cams are defined in the CAMS
folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)): camType.
Start time Here you define the start time within the cam for profile execution.
If you enter 0.0, the profile is executed from the starting point of the cam.
Enter the value as a floating-point number.
See also input field (Page 65).
Type Here, you determine whether the motion should be performed in a speed-controlled or
position-controlled mode.
Position-controlled(default value)
Motion is position-controlled.
Closed-loop speed controlled
Motion is speed-controlled.
5.5.15.3 Overview of parameters for Time-dependent velocity profile – Dynamic response tab
Table 5- 132 Overview of parameters for Time-dependent velocity profile – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
Just like all the parameters in the Dynamics tab, this parameter is only evaluated while
approaching and exiting the profile.
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for preassigned value: userDefaultDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefaultDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefaultDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value: userDefaultDynamics.positiveAccelStartJerk
userDefaultDynamics.positiveAccelEndJerk userDefaultDynamics.negativeAccelStartJerk
userDefaultDynamics.negativeAccelEndJerk
Table 5- 133 Overview of parameters for Time-dependent velocity profile – Expert tab
Field/Button Explanation/instructions
The tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 134 Parameters (MCC Time-dependent velocity profile command compared to _runTimeLockedVelocityProfile
system function)
With this command, the axis moves along a position profile preset by a cam. The definition
range (x-axis) of the cam is interpreted as time, the value range (y-axis) as the
corresponding position.
The profile is traversed from a selectable starting time to the end of the cam.
For additional information on the time-dependent position profile, see the TO Axis
Electric/Hydraulic Function Manual.
Field/Button Explanation/instructions
Axis In Axis, select the axis that is to move along the position profile. The list contains:
• All positioning and synchronous axes that are defined on the relevant device. The axis
is defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): posAxis or
followingAxis.
Profile tab See Overview of parameters for Time-dependent position profile – Profile tab (Page 340)
Dynamics tab See Overview of parameters for Time-dependent position profile – Dynamics tab
(Page 341)
Expert tab See Overview of parameters for Time-dependent position profile – Expert tab (Page 341)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of
the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82)
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83)
Table 5- 136 Overview of parameters for Time-dependent position profile – Profile tab
Field/Button Explanation/Instruction
Profile Here, you select the cam that describes the time-dependent position profile. The following
are available:
• All cams that are defined on the relevant device. The cams are defined in the CAMS
folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): camType.
Start time Here you define the start time within the cam for profile execution.
If you enter 0.0, the profile is executed from the starting point of the cam.
Enter the value as a floating-point number.
See also input field (Page 65).
Type Here you can decide how the positions defined by the cam are approached:
Absolute(default value)
The y-values of the cam represent absolute position values.
Relative
The y-values of the cam represent relative references to the current axis position.
5.5.16.3 Overview of parameters for Time-dependent position profile – Dynamic response tab
Table 5- 137 Overview of parameters for Time-dependent position profile – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
Just like all the parameters in the Dynamics tab, this parameter is only evaluated while
approaching and exiting the profile.
Velocity The entered value acts during the constant velocity phase.
System variable for preassigned value: userDefaultDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for preassigned value: userDefaultDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefaultDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefaultDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value: userDefaultDynamics.positiveAccelStartJerk
userDefaultDynamics.positiveAccelEndJerk userDefaultDynamics.negativeAccelStartJerk
userDefaultDynamics.negativeAccelEndJerk
Table 5- 138 Overview of parameters for Time-dependent position profile – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 139 Parameters (MCC Time-dependent position profile command compared to _runTimeLockedPositionProfile
system function)
This command redefines the actual position. It affects the programming, system variable,
and display. You can choose whether to set either a new actual value or a new setpoint.
Note
The command is not associated with a motion.
Actual value and setpoint can also be altered by a defined amount while the axis is in motion
(in the case of type relative).
Relative motions are not affected.
For additional information on shifting the coordinate system, see the TO Axis
Electric/Hydraulic Function Manual.
Field/Button Explanation/instructions
Axis • Here, select the axis for which the position is to be reset. The list contains:
• All positioning and synchronous axes that are defined on the relevant device. The axis is
defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart (see
Description of the technology object data types (Page 101)): posAxis or followingAxis.
See Overview of parameters for Shift measuring system – Set actual value tab (Page 344)
Set actual value tab
Expert See Overview of parameters for Shift measuring system – Expert tab (Page 345)
tab
Delay program Select the check box if you wish to delay execution of the following command until the current
execution command has been completed. If the check box is not selected, the next command is executed
immediately.
5.5.17.2 Overview of parameters for Shift measuring system – Set actual value tab
Table 5- 141 Overview of parameters for Shift measuring system – Set actual value tab
Field/Button Explanation/Instruction
Position Here, you enter the new position value.
See also input field (Page 65).
Type Here, you select the position type.
Absolute / actual value reference
The programmed position is set as a new actual value, and the setpoint is corrected, taking into
account the following error, and set.
Absolute/setpoint reference (default value)
The programmed position is set as a new setpoint, and the actual value is corrected, taking into
account the following error, and set.
Absolute/setpoint reference of superimposed coordinate system
For superimposed motions: The programmed position is set as a new setpoint of the
superimposed motion, and the actual value is corrected, taking into account the following error,
and set.
Absolute/setpoint reference of basic coordinate system
For superimposed motions: The programmed position is set as the new setpoint of the main
motion, and the actual value is corrected, taking into account the following error, and set.
Relative
The programmed position is added to the current setpoint, actual value.
Table 5- 142 Overview of parameters for Shift measuring system – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 143 Parameters (MCC Shift measuring system command compared to _redefinePosition system function)
The correction value you enter for overriding velocity and acceleration acts on currently
active commands and all following commands.
For additional information on online correction (override), see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Explanation/Instruction
Axis Select the axes for which you wish to program an override. The list contains:
• All axes that are defined on the relevant device. The axis is defined in the AXES
folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): driveAxis,
posAxis, or followingAxis.
Velocity override • Select this check box if you want to program a velocity override.
• Enter the override factor here. The current velocity value is corrected by the
specified percentage value.
Units: Percentage
Range of values: 0 - 200
The value acts on all presently active commands as well as on all of the
subsequent commands.
See also Input fields and selection lists (Page 65).
Acceleration override • Select this check box if you want to program an acceleration override.
• Enter the override factor here. The current acceleration value is corrected by the
specified percentage value.
Units: Percentage
Range of values: 1 - 1000
The value acts on all presently active commands as well as on all of the
subsequent commands.
See also Input fields and selection lists (Page 65).
Adjusts the velocity and acceleration override to correct the current velocity and acceleration
by the specified percentage:
Axis
Velocity override Achse.override.velocity
Acceleration override Achse.override,acceleration
This command changes the default parameters (USERDEFAULT) for the specified axis.
The programmed axis parameters go into effect when the relevant parameter is set to the
default value in a subsequent motion command.
The USERDEFAULT value settings made during axis configuration take effect again after:
● Power On
● The Reset object command is made by activating the Initialize system variables
checkbox.
For additional information on setting axis parameters, see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Meaning/Instruction
Axis In Axis, select the configured axis for which you wish to set one or more new preassigned
values. The list contains:
• All axes that are defined on the relevant device. The axis is defined in the AXES folder
in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): driveAxis, posAxis,
or followingAxis.
speed For speed-controlled axes only
Default value for the speed during the constant speed phase.
System variable: userDefaultDynamics.velocity
• Select this check box if you want to alter the preassigned value for the speed.
• Enter the preassigned value (see input field (Page 65)).
See also Overview of parameters in the Dynamics tab (Page 75).
Velocity For positioning and synchronous axes only
Preassigned value for velocity during the constant velocity phase.
System variable: userDefaultDynamics.velocity
• Select this check box if you want to alter the preassigned value for velocity.
• Enter the preassigned value (see input field (Page 65)).
See also Overview of parameters in the Dynamics tab (Page 75).
Velocity profile Preassigned value for the velocity profile
System variable: userDefaultDynamics.profile
The velocity profile is used to specify the transitions between the individual motion
phases. The velocity profile influences the motion transitions as follows:
• At the start and end of the acceleration phase, the transition to the constant
acceleration or constant velocity phase
• At the start and end of the deceleration phase, the transition to the constant
deceleration or constant velocity phase
Proceed as follows to change the preassigned value for the velocity profile:
• Select the check box.
• Select the preassigned value.
Smooth
A velocity profile with smooth acceleration characteristic takes effect for this
command.
Application: Velocity profile with controllable jerk characteristic
Trapezoidal (default value)
A trapezoidal velocity profile takes effect for this command. Acceleration and
deceleration can be specified.
See also Overview of parameters in the Dynamics tab (Page 75).
Acceleration Preassigned value for the acceleration during the constant acceleration phase.
System variable for preassigned value: userDefaultDynamics.positiveAccel
• Select this check box if you want to alter the preassigned value for acceleration.
• Enter the preassigned value (see input field (Page 65)).
See also Overview of parameters in the Dynamics tab (Page 75).
Field/Button Meaning/Instruction
Deceleration Preassigned value for deceleration during the constant acceleration phase.
System variable: userDefaultDynamics.negativeAccel
• Select this check box if you want to alter the preassigned value for deceleration.
• Enter the preassigned value (see input field (Page 65)).
See also Overview of parameters in the Dynamics tab (Page 75).
Jerk Preassigned value for the change in acceleration or deceleration
• At acceleration start
System variable: userDefaultDynamics.positiveAccelStartJerk
• At acceleration end
System variable: userDefaultDynamics.positiveAccelEndJerk
• At deceleration start
System variable: userDefaultDynamics.negativeAccelStartJerk
• At deceleration end
System variable: userDefaultDynamics.negativeAccelEndJerk
To change the preassigned value for jerk, proceed as follows:
• Select the relevant check box.
• Enter the preassigned value (see input field (Page 65)).
See also Overview of parameters in the Dynamics tab (Page 75).
Time for deceleration Preassigned value for the duration of the braking operation for a quick stop within a
defined period (see Stop axis).
System variable: userDefaultDynamics.stopTime
• Select the check box if you want to alter the preassigned value for the duration of the
braking operation.
• Enter the preassigned value (see input field (Page 65)).
See also Overview of parameters in the Dynamics tab (Page 75).
Axis
Velocity Achse.userdefaultdynamics.velocity
Velocity profile Achse.userdefaultdynamics.profil
Time for deceleration Achse.userdefaultdynamics.stopTime
Acceleration Achse.userdefaultdynamics.positiveaccel
Deceleration Achse.userdefaultdynamics.negativeaccel
Jerk at start of acceleration Achse.userdefaultdynamics.positiveaccelstartjerk
Jerk at end of acceleration phase Achse.userdefaultdynamics.positiveaccelendjerk
Jerk at start of deceleration Achse.userdefaultdynamics.negativeaccelstartjerk
Jerk at end of deceleration phase Achse.userdefaultdynamics.negativeaccelandjerk
Use the Set virtual axis values command in order to transfer the position, velocity, and
acceleration values for a real master axis or an encoder to a virtual axis. The axis can then,
for example, be programmed using a positioning command.
The axis values of the virtual axis are set only when the master axis is moving. If the
command is executed when the master axis is stationary, the axis values will not be set until
the master axis is next started.
For additional information on shifting the coordinate system, see the TO Axis
Electric/Hydraulic Function Manual.
Field/Button Explanation/instructions
Virtual axis Here, select the axis to be synchronized. All of the virtual axes of the device that have
positioning or synchronous operation functionality are displayed.
Parameters tab See Overview of parameters for Set virtual axis values – Parameter tab (Page 353)
Expert tab See Overview of parameters for Set virtual axis values – Expert tab (Page 353)
Delay program execution Select the check box if you wish to delay execution of the following command until the
current command has been completed. If the check box is not selected, the next
command is executed immediately.
5.5.20.2 Overview of parameters for Set virtual axis values – Parameters tab
Table 5- 147 Overview of parameters for Set virtual axis values – Parameters tab
Field/Button Explanation/instructions
Leading axis / encoder Here, select the axis for which the position, velocity, or acceleration is to be transferred to
the virtual axis. The list contains:
• All positioning and synchronous (following) axes and external encoders that are
defined on the relevant device.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): posAxis,
followingAxis, or externalEncoderType.
Reference Here, decide whether the virtual axis is to be synchronized to the setpoints or actual
values of the master axis.
Setpoint
The setpoints of the master axis are accepted for the virtual axis.
Actual value(default value)
The actual values of the master axis are accepted for the virtual axis.
5.5.20.3 Overview of parameters for Set virtual axis values – Expert tab
Table 5- 148 Overview of parameters for Set virtual axis values – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 149 Parameters (MCC Set virtual axis values command compared to _redefinePosition system function)
The command queue is a memory for motion commands that have been issued by the
program, but are not yet active. Commands that have not yet been executed can be deleted
from the command queue.
This command allows commands for an axis to be selectively deleted after the axis has been
stopped or the motion sequence has been modified.
For additional information on deleting the command queue (motion buffer), see the TO Axis
Electric/Hydraulic Function Manual.
Field/Button Explanation/instructions
Axis In Axis, select the axis for which the command is to be programmed. The list contains:
• All axes that are defined on the relevant device. The axis is defined in the AXES folder in
the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart (see
Description of the technology object data types (Page 101)): driveAxis, posAxis, or
followingAxis.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to find
out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the technology
packages (Page 101).
Table 5- 151 Parameters (MCC Delete command queue command compared to _resetMotionBuffer system function)
Using this command, you can switch over the active controller data set.
Several data sets can be assigned to one Axis technology object, e.g. for multiple measuring
systems/encoders. You can switch among multiple measuring systems/encoders, for
example, by means of data set changeover. All configured measuring systems are internally
active, and the measured values are updated cyclically.
For additional information on activating data sets, see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Explanation/instructions
Axis Here, select the axis for which the controller data set is to be switched over. The list
contains:
• All axes that are defined on the relevant device. The axis is defined in the AXES folder
in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)): driveAxis, posAxis,
or followingAxis.
Parameters tab See Overview of parameters for Switch parameter set – Parameter tab (Page 358)
Expert tab See Overview of parameters for Switch parameter set – Expert tab (Page 358)
Delay program execution Select the check box if you wish to delay execution of the following command until the
current command has been completed. If the check box is not selected, the next
command is executed immediately.
Table 5- 153 Overview of parameters for Switch parameter set – Parameters tab
Field/Button Explanation/instructions
Number of the parameter set Here, select the number of the parameter set that is to be activated. Numbers 1 to 31 are
listed. The value can be entered directly or by means of a variable or a calculation
formula. Use a drag-and-drop operation to move variables from the symbol browser. Use
a drag-and-drop operation to move commands from the command library.
Table 5- 154 Overview of parameters for Set virtual axis values – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 155 Parameters (MCC Switch parameter set command compared to _setAxisDataSetActive system function)
5.6 Commands for external encoders, measuring inputs and output cams
This command enables the external encoder for recording measured values.
For additional information on the external encoder, see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Explanation/instructions
Encoder Here, you select the external encoder. The list contains:
• All encoders that are defined on the relevant device. An external encoder is defined in
the EXTERNAL ENCODERS folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)):
externalEncoderType.
CommandID variable Enter the name of a variable of data type CommandIdType here. With the help of this
variable, you can, for example, trace back the status of the command.
CommandId-type variables declared in the MCC source file or MCC chart are provided for
selection.
If you leave the CommandID variable field empty, the CommandID is not assigned to any
variables; this means that you cannot access the CommandID (standard).
See also Overview of parameters for the Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Delay program execution Select the check box if you wish to delay execution of the following command until the
current command has been completed. If the check box is not selected, the next
command is executed immediately.
Table 5- 157 Parameters (MCC External encoder on command compared to _enableExternalEncoder system function)
This command disables the external encoder for recording measured values.
For additional information on the external encoder, see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Explanation/instructions
Encoder Here, you select the external encoder. The list contains:
• All encoders that are defined on the relevant device. An external encoder is defined in
the EXTERNAL ENCODERS folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)):
externalEncoderType.
CommandID variable Enter the name of a variable of data type CommandIdType here. With the help of this
variable, you can, for example, trace back the status of the command.
CommandId-type variables declared in the MCC source file or MCC chart are provided for
selection.
If you leave the CommandID variable field empty, the CommandID is not assigned to any
variables; this means that you cannot access the CommandID (standard).
See also Overview of parameters for the Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Delay program execution Select the check box if you wish to delay execution of the following command until the
current command has been completed. If the check box is not selected, the next
command is executed immediately.
Table 5- 159 Parameters (MCC External encoder off command compared to _disableExternalEncoder system function)
For additional information on the external encoder, see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Explanation/instructions
Encoder Select the external encoder to be synchronized in this field. The list contains:
• All encoders that are defined on the relevant device. An external encoder is defined
in the EXTERNAL ENCODERS folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)):
externalEncoderType.
Parameters tab See Overview of parameters for Synchronize external encoder – Parameter tab
(Page 365)
Expert tab See Overview of parameters for Synchronize external encoder – Expert tab
(Page 366)
Delay program execution Select the check box if you wish to delay execution of the following command until the
current command has been completed. If the check box is not selected, the next
command is executed immediately.
Table 5- 161 Overview of parameters for Synchronize external encoder – Parameters tab
Field/Button Meaning/Instruction
Homing type Here, you select the homing type.
Set home position (default value)
The home position coordinates are directly set to the current axis coordinates. The
current axis position is assigned to the value of the home coordinates. There is no
active traversing motion.
Passive homing
The next time that the axis moves, the first available zero mark is searched for and the
measuring system is synchronized to this zero mark. There is no active traversing
motion as a result of the homing command.
Absolute encoder adjustment
This selection is available only for absolute value encoders, that is, only for encoders
that have been configured as type "absolute value encoder" or "absolute value
encoder, cyclic absolute".
Home position coordinate Coordinates of the home position in the reference system of the axis.
Enter the value in the editable selection list (see Editable selection list (editable combo
box) (Page 66)).
Last programmed home position coordinate
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variables for preassigned value: userDefaultHoming.homePosition
Table 5- 162 Overview of parameters for Synchronize external encoder – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command
status with this variable.
TO properties Here, you can adapt the parameter dialog box as needed to reflect the effects of
encoder configuration data or system variables.
Return variable If you enter the name of a variable of the specified data type, you can use this variable
to find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 163 Parameter (MCC Synchronize external encoder command compared to _synchronizeExternalEncoder system
function)
For additional information on the external encoder, see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Explanation/instructions
Axis Here, you select the axis for which encoder monitoring is to be enabled.
At least two encoder systems must have been configured for the selected axis during
commissioning (configuration data TypeOfAxis.NumberOfEncoders.numberOfEncoders >
1).
Parameters tab See Overview of parameters for Encoder monitoring on - Parameter tab (Page 368)
Expert tab See Overview of parameters for Encoder monitoring on - Expert tab (Page 368)
Field/Button Explanation/instructions
Reference measuring Select the reference measuring system from the encoder systems configured for the axis.
system
Measuring system 2 Select the second measuring system from the remaining encoder systems configured for the
axis.
Maximum permissible Maximum permissible difference between the two encoder systems.
difference Enter the value in the editable selection list (see Editable selection list (editable combo box)
(Page 66)).
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: sensormonitoring.MaximalSensorDifference
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
TO properties Here, you can adapt the parameter dialog box as needed to reflect the effects of encoder
configuration data or system variables.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the technology
packages (Page 86).
For additional information on the external encoder, see the TO Axis Electric/Hydraulic
Function Manual.
Field/Button Explanation/instructions
Axis Here, you select the axis for which encoder monitoring is to be disabled.
At least two encoder systems must have been configured for the selected axis during
commissioning (configuration data TypeOfAxis.NumberOfEncoders.numberOfEncoders > 1).
Return variable If you enter the name of a variable of the specified data type, you can use this variable to find
out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the technology
packages (Page 86).
Table 5- 169 Parameters (MCC Encoder monitoring off command compared to _disableMonitoringOfEncoderDifference
system function)
This command activates a measuring input for an axis or external encoder. A change in the
signal (edge) at the configured measuring input (e.g., on the SIMOTION device or drive)
causes the current position value to be saved.
You can select how often the measurement is performed:
● One-time: The measuring process must be reactivated for each new measurement.
Several IPO cycle clocks must be performed between the measurements.
● The measuring accuracy depends on the accuracy of the hardware used. It lies in the
range of microseconds.
● Cyclic: The measurement is made cyclically in the configured processing cycle clock of
the Measuring Input technology object.
Cyclical measuring can only be performed with the following devices:
– TM17 High Feature
– C240 (inputs B1 to B4)
– D4xx (onboard measuring inputs)
– SIMOTION CX32 Controller Extension
– SINAMICS CU310/CU320 Control Units
When using global measuring inputs, you can detect and measure up to two edges in
each processing cycle clock (a maximum of 2 edges every 3 position control cycle clocks
with the D4xx, CX32, and CU3xx devices).
The measured values must be read out by the user program before they are overwritten
by a new measurement, i.e., if possible, in the SynchronousTask that corresponds to the
processing cycle clock of the Measuring Input technology object.
For both types, you can also specify:
● The triggering edge of the input signal (e.g., rising, falling, both)
● A measuring range in which the measured value will be acquired
If the measurement is successful, the measurement result is available in the system
variables below in the next cycle clock:
1. The measured values are stored in system variables measuredValue1 and
measuredValue2 (for meaning, see the table below).
2. With one-time measuring, system variable state has the value TRIGGER_OCCURRED.
3. With cyclic measuring, system variables counterMeasuredValue1 and
counterMeasuredValue2 are incremented by 1 on each measurement result. New results
can be traced immediately and can also be read from non-IPO-synchronous tasks.
The only time these counters are set to 0 is in the event of a system startup or technology
object reset.
Table 5- 170 Content of system variables measuredValue1 and measuredValue2 according to the
measurement and the triggering edge.
With one-time measuring, the command is active until the measurement result is received or
the command is terminated by the Deactivate measuring input command.
The command is active until it is terminated by the Deactivate measuring input command.
Various response times must be taken into account in the application for the measuring
function, depending on the axis/external encoder connection (onboard C2xx, PROFIBUS
axis), the drive used (611U, MASTERDRIVES MC, SINAMICS), and the processing cycle
clock (IPO, IPO2 or position control cycle clock).
An Excel tool, which provides support when determining these times, is included in the
SIMOTION Utilities & Applications. Depending on the type of measuring input used, you can
determine the response times for the measuring input function and also the lead times for
dynamic switching processes within the measuring range.
SIMOTION Utilities & Applications is provided as part of the SIMOTION SCOUT scope of
delivery.
Additional information:
● For information on the Measuring Input technology object, see the Output Cams and
Measuring Inputs Function Manual
● For information on commands on the Measuring Input technology object, see the Output
Cams and Measuring Inputs Function Manual
● For general information on cyclic measuring, see the Output Cams and Measuring Inputs
Function Manual
Field/Button Explanation/Instruction
Axis/encoder Here, you select the axis or external encoder for which the actual value is to be
measured using a measuring input. The list contains:
• All positioning and synchronous (following) axes and external encoders that are
defined on the relevant device.
The measuring inputs associated with the selected axis or external encoder are
automatically identified and displayed in the Measuring input field for selection,
as appropriate.
• <Reference>
You select this entry if the measuring input is not defined on the device but
rather is specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type
measuringInput (references to measuring inputs) are available for selection in
the Measuring input field (see also Technology object data types (Page 101)).
Notice
You cannot select references to an axis or external encoder (variables of data type
posAxis, followingAxis, or external Encoder). There is no assignment for the
reference to the associated measuring inputs.
Instead, select the reference to the measuring input directly (variable of data type
measuringInputType).
Measuring input Here, the permissible measuring inputs are displayed according to the selected
Axis/Encoder, where they are available for selection, as appropriate:
• A positioning or synchronous axis or external encoder defined on the device was
selected as the axis/encoder:
The measuring inputs associated with the selected axis/encoder are available
for selection.
If you wish to create a new measuring input, click the Create measuring input
button and enter a new name. The measuring input is created for the technology
object that has been selected in the Axis/Encoder field (not for variables).
The configuration can be changed in the project navigator under the respective
axis or external encoder in the MEASURING INPUTS folder.
• <Reference> was selected as the axis/encoder:
All technology object-type variables declared in the MCC source file or MCC
chart (see Technology object data types (Page 101)) are available for selection:
measuringInputType
These variables are references to measuring inputs.
Parameter tab See Overview of parameters for Activate measuring input – Parameters tab
(Page 376)
Expert tab See Overview of parameters for Activate measuring input – Expert tab (Page 377)
Delay program execution Only if the Activate cyclic measuring check box is not selected.
• Select the check box if you wish to delay execution of the following command
until the current command has been completed. If the check box is not selected,
the next command is executed immediately.
If the Activate cyclic measuring check box is selected, the next command is always
executed immediately.
Table 5- 172 Overview of parameters for Activate measuring input – Parameters tab
Field/Button Explanation/instructions
Activate cyclic measuring Select this check box if the actual values are to be acquired cyclically.
(SIMOTION kernel V4.0 and higher) If the check box is not selected, the actual value is acquired one time.
Edge for cyclic measuring Only if the Activate cyclic measuring check box is selected.
(SIMOTION kernel V4.0 and higher) Here, you select whether the actual position is to be measured at a rising or falling
edge of the measuring input.
All edges
The actual position is measured at both edges of the measuring input.
Rising edges only
The actual position is measured only at a rising edge of the measuring input.
Falling edges only
The actual position is measured only at a falling edge of the measuring input.
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.measuredEdgeCyclicMode
Edge Only if the Activate cyclic measuring check box is not selected.
Here, you select whether the actual position is to be measured at a rising or falling
edge of the measuring input.
Falling edge
The actual position is measured at the falling edge of the measuring input.
Both
The actual position is measured at both edges of the measuring input.
Both (starting at rising edge)
The actual position is measured at both edges of the measuring input; the first
measurement takes place at a rising edge.
Both (starting at falling edge)
The actual position is measured at both edges of the measuring input; the first
measurement takes place at a falling edge.
Rising edge
The actual position is measured at the rising edge of the measuring input.
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.measuredEdge
Field/Button Explanation/instructions
Activate measuring range Select whether the measuring input is only to be active within a certain measuring
range.
Measurement in specified range
Measured value acquisition only takes place in the range specified by the Start of
measuring range and End of measuring range fields.
Measurement without specified range
Measured value acquisition takes place without range limitation; the Start of
measuring range and End of measuring range fields are not visible.
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.measuringRangeMode
Start of measuring range Enter the starting point of the measuring range in the editable selection list.
Preassignment (default value)
Last programmed
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.measuringRangeStartPosition
End of measuring range Enter the end point of the measuring range in the editable selection list.
Preassignment (default value)
Last programmed
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.measuringRangeEndPosition
Table 5- 173 Overview of parameters for Activate measuring input – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79) Overview of
parameters for the Expert tab.
CommandID variable If you enter the name of a CommandId-type variable, you can track the command
status with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this
variable to find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 174 Parameters (MCC Activate measuring input command compared to _enableMeasuringInput,
_enableMeasuringInputCyclic system functions)
This command disables a measuring input on an axis or external encoder. Measured value
acquisition is disabled.
Additional information:
● For information on the Measuring Input technology object, see the Output Cams and
Measuring Inputs Function Manual
● For information on commands on the Measuring Input technology object, see the Output
Cams and Measuring Inputs Function Manual
● For general information on cyclic measuring, see the Output Cams and Measuring Inputs
Function Manual
Field/Button Explanation/Instruction
Axis/encoder Here, you select the axis or external encoder for which the actual value acquisition via a
measuring input is to be ended. The list contains:
All positioning and synchronous (following) axes and external encoders that are defined on
the relevant device.
The measuring inputs associated with the selected axis or external encoder are
automatically identified and displayed in the Measuring input field for selection, as
appropriate.
<Reference>
You select this entry if the measuring input is not defined on the device but rather is
specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type measuringInput
(references to measuring inputs) are available for selection in the Measuring input field (see
also Technology object data types (Page 101)).
Notice
You cannot select references to an axis or external encoder (variables of data type posAxis,
followingAxis, or external Encoder). There is no assignment for the reference to the
associated measuring inputs.
Instead, select the reference to the measuring input directly (variable of data type
measuringInputType).
Parameters tab See Overview of parameters for Deactivate measuring input – Parameters tab (Page 380)
Expert tab See Overview of parameters for Deactivate measuring input – Expert tab (Page 381)
Table 5- 176 Overview of parameters for Deactivate measuring input – Parameters tab
Field/Button Explanation/instructions
Measuring input Here, the permissible measuring inputs are displayed according to the selected
Axis/Encoder, where they are available for selection, as appropriate:
A positioning or synchronous axis or external encoder defined on the the device was
selected as the axis/encoder:
The measuring inputs associated with the selected axis/encoder are available for selection.
<Reference> was selected as the axis/encoder:
All technology object-type variables declared in the MCC source file or MCC chart (see
Technology object data types (Page 101)) are available for selection: measuringInputType
These variables are references to measuring inputs.
Table 5- 177 Overview of parameters for Deactivate measuring input – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the technology
packages (Page 86).
Table 5- 178 Parameters (MCC Deactivate measuring input command compared to _disableMeasuringInput system
function)
This command synchronizes two measuring systems or returns the difference between the
specified measuring systems.
Field/Button Explanation/instructions
Axis Select the axis whose measuring system is to be switched over. The list contains:
• All positioning and synchronous axes that are defined on the relevant device. The axis
is defined in the AXES folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Description of technology object data types (Page 101)) driveAxis, posAxis or
followingAxis.
Parameter tab See Overview of parameters for Synchronize measuring system – Parameter tab
(Page 383)
Expert tab See Overview of parameters for Synchronize measuring system – Expert tab (Page 384)
Delay program execution Select the check box if you wish to delay execution of the following command until the
current command has been completed. If the check box is not selected, the next
command is executed immediately.
Table 5- 180 Overview of parameters for Synchronize measuring system – Parameters tab
Field/Button Explanation/instructions
Number of the measuring Measuring system to be selected; possible values are 1 to 8.
system to be synchronized 1 (default value)
Measuring system 1
Use current measuring system Select this check box if the current measuring system is to be used as a reference
as reference measuring system.
Reference measuring system Here, you select the reference measuring system if you do not wish to use the current
measuring system. You can enter a value between 1 and 8. This field is shaded by
default; it is activated only if you clear the check box Use current measuring system as
reference.
1 (default value)
Measuring system 1
Synchronize measuring Select this check box if the measuring systems are to be synchronized with one another.
systems
Read difference between Select this check box if you want the difference between the two measuring systems to
measuring systems be stored in a variable.
Differential variable In this field, a variable of type LREAL can be specified to contain the difference between
measuring systems once the command is executed. This field is only visible, if the "Read
difference between measuring systems" check box is selected.
Table 5- 181 Overview of parameters for Synchronize measuring system – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call and to manage the received data.
Data type DINT, for a description see table below.
Table 5- 183 Parameters (MCC Synchronize measuring system command compared to _setAndGetEncoderValue system
function)
This command can be used to assign parameters for an output cam and then to switch it on.
An output cam generates position-dependent switching signals for positioning or
synchronous axes or external encoders. The output cam types below are available. You
specify the type during configuration of the output cam:
● Position-based cam
The switching signal occurs between the starting position and end position of the output
cam.
● Time-based output cam
The switching signal is supplied for a specified time period after the starting position is
reached.
● Unidirectional output cam
The switching signal occurs when the axis reaches the starting position; it can only be
reset by switching off the output cam.
Position-based and time-based cams can also be assigned as counter cams.
The switching signal is available in system variable state and, if configured accordingly, also
on a digital output.
The output cam can be switched off:
● With the commands
– Switch output cam off (Page 398) or
– Switch output cam signal (Page 401) ,
● By switching on the same output cam again with different parameters, if necessary
The parameter dialog box displays different parameters depending on the axis type and the
configured output cam type.
Below are the parameter dialog boxes for a rotary axis and a linear axis showing the settings
for different output cam types.
Figure 5-77 Parameter screen form: Switch output cam on for rotary axis with uni-directional output
cam
Figure 5-78 Parameter screen form: Switch output cam on for rotary axis with position-based cam
Figure 5-79 Parameter screen form: Switch output cam on for rotary axis with time-based cam
Figure 5-80 Parameter screen form: Switch output cam on for linear axis with uni-directional output
cam
Figure 5-81 Parameter screen form: Switch output cam on for linear axis with position-based cam
Figure 5-82 Parameter screen form: Switch output cam on for linear axis with time-based cam
For additional information on the Output Cam technology object, see the Output Cams and
Measuring Inputs Function Manual.
For additional information on the commands on the Output Cam technology object, see the
Output Cams and Measuring Inputs Function Manual.
Field/Button Explanation/Instruction
Axis/encoder Here, you select the axis or external encoder to which the output cam to be activated is
associated. The list contains:
• All positioning, synchronous (following), and path axes and external encoders that are
defined on the relevant device.
The output cams associated with the selected axis or external encoder are automatically
identified and displayed in the Output cam field for selection, as appropriate.
• <Reference>
You select this entry if the output cam is not defined on the device but rather is specified as
a reference (variable).
All variables declared in the MCC unit or MCC chart with data type outputCamType
(references to output cams) are available for selection in the Output cam field (see also
Technology object data types (Page 101)).
Notice
You cannot select references to an axis or external encoder (variables of data type posAxis,
followingAxis, pathAxis, or external Encoder). There is no assignment for the reference to the
associated output cams.
Instead, select the reference to the output cam directly (variable of data type outputCamType).
Output cam Here, the permissible output cams are displayed according to the selected Axis/Encoder, where
they are available for selection, as appropriate:
• A positioning, synchronous, or path axis or external encoder defined on the the device was
selected as the axis/encoder:
The output cams associated with the selected axis/encoder are available for selection.
If you wish to create a new output cam, click the Create output cam button and enter a new
name. The output cam is created for the technology object that has been selected in the
Axis/Encoder field (not for variables).
The configuration can be changed in the project navigator under the respective axis or
external encoder in the OUTPUT CAMS folder.
• <Reference> was selected as the axis/encoder:
All technology object-type variables declared in the MCC source file or MCC chart (see
Technology object data types (Page 101)) are available for selection: outputCamType.
These variables are references to output cams.
Parameter tab See Overview of parameters for Switch output cam on - Parameters tab (Page 394)
Expert tab See Overview of parameters for Switch output cam on - Expert tab (Page 396)
Table 5- 185 Overview of parameters for Switch output cam on – Parameters tab
Field/Button Explanation/Instruction
Starting position With position-based cams: switching signal is activated between the starting position and end
position.
With time-based cams and unidirectional output cams: Position at which the switching signal is
activated.
Enter the value in the editable selection list (see Editable selection list (editable combo box)
(Page 66)). The meaning is dependent on the Add switching positions check box.
• Check box cleared: The entered value represents an absolute position.
• Check box selected: The entered value is relative and is added to the last programmed
starting position.
Last programmed position
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.switchOnPosition
End position For position-based cams only: switching signal is activated between the starting position and
end position.
Enter the value in the editable selection list (see Editable selection list (editable combo box)
(Page 66)). The meaning is dependent on the Add switching positions check box.
• Check box cleared: The entered value represents an absolute position.
• Check box selected: The entered value is relative and is added to the last programmed end
position.
Last programmed position
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.switchOffPosition
Add switching positions Select the check box, if you want the entered values for the start position and the end position
to be regarded as relative positions. The values are then added to the last programmed
position each time.
If this check box is cleared, the entered values for the start position and the end position are
regarded as absolute positions.
ON duration ON duration for time-based cams. Once the axis has crossed the starting position, the
switching signal of a time-based cam remains enabled for the programmed ON duration.
Enter the value in the editable selection list (see Editable selection list (editable combo box)
(Page 66)).
Last programmed ON duration
Preassigned value (default value)
See selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.switchOnDuration
Field/Button Explanation/Instruction
Activation time The activation time shifts the switch-on instant of the output cam.
Method of operation:
• Negative value: Output cam activation is moved up. For example, this allows you to
compensate for delay times of digital outputs and connected switching elements.
• Positive value: Output cam activation is delayed.
Enter the value in the editable selection list (see Editable selection list (editable combo box)
(Page 66)).
Last programmed
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.activationTime.
Deactivation time The deactivation time shifts the switch-off instant of the output cam.
Method of operation:
• Negative value: Output cam deactivation is moved up. For example, this allows you to
compensate for delay times of digital outputs and connected switching elements.
• Positive value: Output cam deactivation is delayed.
Enter the value in the editable selection list (see Editable selection list (editable combo box)
(Page 66)).
Last programmed
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.deactivationTime.
Hysteresis The hysteresis defines a filter range around the switching position. The output signal is not
switched if the axis moves in the hysteresis range around the switching position. This avoids
flickering switching status changes.
Enter the value in the editable selection list (see Editable selection list (editable combo box)
(Page 66)).
Last programmed hysteresis
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.noSwitchingRange
Effective direction Here, select the current effective direction. The output cam only switches when the motion
direction and effective direction are identical.
Enter the value in the editable selection list (see Editable selection list (editable combo box)
(Page 66)).
Both directions
The output cam switches in both axis directions.
Positive
The output cam switches when axis direction is positive.
Negative
The output cam switches when axis direction is negative.
Last programmed effective direction
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.forceDirection.
Field/Button Explanation/Instruction
Invert Here, you choose whether or not the switching state of the output of the output cam is to be
inverted.
Do not invert (default value)
The output of the output cam is not inverted
Invert
The output of the output cam is inverted
Maintain current switching state
The current setting for inverting the output of the output cam is kept.
Set output cam counter Select this check box if the output cam is to be configured as a counter cam.
If the check box is cleared, the status of the counter cam remains unchanged.
For a counter cam, it can be specified whether the output cam is to be output every time it
switches or every nth time it switches.
Every counter cam has a counter start value and a current counter value. The current counter
value for the output cam is reduced by 1 every time the output cam switches.
• If the current counter value reaches 0, the output cam is output (system variable 'state' and
output of output cam). At the same time, the current counter value is reset to the counter
start value.
• If the current counter value does not reach 0, the output of the output cam is suppressed.
The current counter value and the counter start value both have a preassigned value of 1; the
current values can be queried with system variables counterCamData.actualValue and
counterCamData.startValue.
These values are not reset by the system, e.g., with the Switch output cam off command.
Current counter value Only if the Set output cam counter check box is selected:
Here, you enter the current counter value as an integer.
See also input field (Page 65).
Counter start value Only if the Set output cam counter check box is selected:
Here, you enter the counter start value as an integer.
See also input field (Page 65).
Table 5- 186 Overview of parameters for Switch output cam on – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
TO properties Here, you can adapt the parameter screen form as needed to reflect the effects of axis/encoder
or software output cam configuration data or system variables.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to find
out the result of the command call.
Data type DINT, for a description, see Return value for the system functions of the technology
packages (Page 86).
Table 5- 187 Parameters (MCC Switch output cam on command compared to _enableOutputCam and
_setOutputCamCounter system functions)
This command is used to switch off an output cam that was switched on with the Switch
output cam on command.
For additional information on the Output Cam technology object, see the Output Cams and
Measuring Inputs Function Manual.
For additional information on the commands on the Output Cam technology object, see the
Output Cams and Measuring Inputs Function Manual.
Field/Button Explanation/Instruction
Axis/encoder Here, you select the axis or external encoder to which the output cam to be deactivated is
associated. The list contains:
• All positioning, synchronous (following), and path axes and external encoders that are
defined on the relevant device.
The output cams associated with the selected axis or external encoder are automatically
identified and displayed in the Output cam field for selection, as appropriate.
• <Reference>
You select this entry if the output cam is not defined on the device but rather is specified
as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type outputCamType
(references to output cams) are available for selection in the Output cam field (see also
Technology object data types (Page 101)).
Notice
You cannot select references to an axis or external encoder (variables of data type posAxis,
followingAxis, pathAxis, or external Encoder). There is no assignment for the reference to
the associated output cams.
Instead, select the reference to the output cam directly (variable of data type
outputCamType).
Output cam Here, the permissible output cams are displayed according to the selected Axis/Encoder,
where they are available for selection, as appropriate:
• A positioning, synchronous, or path axis or external encoder defined on the the device
was selected as the axis/encoder:
The output cams associated with the selected axis/encoder are available for selection.
• <Reference> was selected as the axis/encoder:
All technology object-type variables declared in the MCC source file or MCC chart (see
Description of the technology object data types (Page 101)) are available for selection:
outputCamType.
These variables are references to output cams.
Parameter tab See Overview of parameters for Switch output cam off - Parameters tab (Page 399)
Expert tab See Overview of parameters for Switch output cam off - Expert tab (Page 400)
5.6.10.2 Overview of parameters for Switch output cam off – Parameters tab
Table 5- 189 Overview of parameters for Switch output cam off – Parameters tab
Field/Button Explanation/instructions
Output cam permanently On Select this check box if you wish the output cam to remain ON permanently after it is
disabled. If the check box is not selected, the output of the output cam is reset when you
disable the output cam.
5.6.10.3 Overview of parameters for Switch output cam off – Expert tab
Table 5- 190 Overview of parameters for Switch output cam off – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the technology
packages (Page 86).
Table 5- 191 Parameters (MCC Switch output cam off command compared to _disableOutputCam and
_setOutputCamState system functions)
NOTICE
During a processing cycle clock, the output cam signal can only be switched on and
switched off once. If an attempt is made to switch the output cam on or off more than
once during a processing cycle clock, the values of the last effective command apply.
If the output cam is not configured as a high-speed output cam (output cam without time
stamp, e.g. digital outputs on the SIMOTION C230-2 device), a programmed time offset is
ignored. The tOutput system variable is assigned the value 0.0.
For additional information on the Output Cam technology object, see the Output Cams and
Measuring Inputs Function Manual.
For additional information on exact-time setting of an output and exact-time output cams,
see the Output Cams and Measuring Inputs Function Manual.
Field/Button Explanation/instructions
Axis/encoder Here, you select the axis or external encoder to which the output cam to be switched on is
associated. The list contains:
• All positioning, synchronous (following), and path axes and external encoders that are
defined on the relevant device.
The output cams associated with the selected axis or external encoder are automatically
identified and displayed in the Output cam field for selection, as appropriate.
• <Reference>
You select this entry if the output cam is not defined on the device but rather is specified
as a reference (variable).
All variables declared in the MCC source file or MCC chart with data type
outputCamType (references to output cams) are available for selection in the Output cam
field.
Notice
You cannot select references to an axis or external encoder (variables of data type posAxis,
followingAxis, pathAxis, or external Encoder). There is no assignment for the reference to
the associated output cams.
Instead, select the reference to the output cam directly (variable of data type
outputCamType).
Output cam Here, the permissible output cams are displayed according to the selected Axis/Encoder,
where they are available for selection, as appropriate:
• A positioning, synchronous, or path axis or external encoder defined on the the device
was selected as the axis/encoder:
The output cams associated with the selected axis/encoder are available for selection.
• <Reference> was selected as the axis/encoder:
All technology object-type variables declared in the MCC source file or MCC chart (see
Description of the technology object data types (Page 101)) are available for selection:
outputCamType.
These variables are references to output cams.
Parameter tab See Overview of parameters for Switch output cam signal - Parameter tab (Page 404)
Expert tab See Overview of parameters for Switch output cam signal - Expert tab (Page 404)
5.6.11.2 Overview of parameters for Switch output cam signal – Parameters tab
Table 5- 193 Overview of parameters for Switch output cam off – Parameters tab
Field/Button Explanation/instructions
Time offset This parameter is only evaluated if the output cam was configured as a high-speed output
cam on the corresponding hardware (e. g., SIMOTION devices D4xx, C240, TM15,
TM17 High Feature).
Here, you specify the time offset with which you can switch the assigned digital output at
specific times during the configured processing cycle clock of the output cam. The specified
time offset is added to the system-dependent output delay of the output cam signal (tOutput
system variable). The resulting time offset (programmed time offset + value of tOutput
system variable) must be smaller than the duration of the processing cycle clock.
Enter the value as a signed floating-point number.
See Input field (Page 65).
Notice
During a processing cycle clock, the output cam signal can only be switched on one time
and/or switched off one time. If an attempt is made to switch the output cam on or off more
than once during a processing cycle clock, the values of the last effective command apply.
Output cam status How to select the output cam signal (switching signal of the output cam):
Output cam on
The output cam signal is switched on.
Output cam off
The output cam signal is switched off.
5.6.11.3 Overview of parameters for Switch output cam signal – Expert tab
Table 5- 194 Overview of parameters for Switch output cam signal – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT, for a description, see Return value for the system functions of the
technology packages (Page 86).
Table 5- 195 Parameters (MCC Switch output cam signal command compared to _setOutputCamState system function)
This command is used to assign parameters for an output cam track and then to switch it on.
A cam track provides the switching signal of multiple output cams of the same type (single
output cams) in system variable state. If configured accordingly, the switching signal is also
available on a digital output.
The output cam types below are available for single output cams. You specify the type
during configuration of the output cam:
● Position-based cam
The switching signal occurs between the starting position and end position of a single
output cam.
● Time-based output cam
The switching signal is supplied for a specified time period after the starting position of a
single cam is reached.
● Time-based cam with maximum ON length
The switching signal is supplied for a specified time period after the starting position of a
single cam is reached.
A maximum ON length can also be defined. It limits the duration of the switching signal to
the time it takes to cover this distance
Figure 5-85 Parameter screen form: Output cam track On for a rotary axis
Figure 5-86 Parameter screen form: Output cam track On for a linear axis
For additional information on the Cam Track technology object, see the Output Cams and
Measuring Inputs Function Manual.
For additional information on the commands on the Cam Track technology object, see the
Output Cams and Measuring Inputs Function Manual.
Field/Button Explanation/Instruction
Axis/encoder Here, you select the axis or external encoder to which the output cam track to be
activated is associated. The list contains:
• All positioning and synchronous (following) axes and external encoders that are
defined on the relevant device.
The output cam tracks associated with the selected axis or external encoder are
automatically identified and displayed in the Output cam track field for selection, as
appropriate.
• <Reference>
You select this entry if the output cam track is not defined on the device but rather is
specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type _camTrackType
(references to cam tracks) are available for selection in the Cam track field (see also
Technology object data types (Page 101)).
Notice
You cannot select references to an axis or external encoder (variables of data type
posAxis, followingAxis, or external Encoder). There is no assignment for the reference to
the associated output cam tracks.
Instead, select the reference to the output cam track directly (variable of data type
_camTrackType).
Cam track (camTrackType) Here, the permissible output cam tracks are displayed according to the selected
Axis/Encoder, where they are available for selection, as appropriate:
• A positioning or synchronous axis or external encoder defined on the the device was
selected as the axis/encoder:
The output cam tracks associated with the selected axis/encoder are available for
selection.
If you wish to create a new output cam track, click the Create output cam track button
and enter a new name. The output cam track is created for the technology object that
has been selected in the Axis/Encoder field (not for variables).
The configuration can be changed in the project navigator under the respective axis or
external encoder in the OUTPUT CAMS folder.
• <Reference> was selected as the axis/encoder:
All technology object-type variables declared in the MCC unit or MCC chart (see
Description of the technology object data types (Page 101)) are available for
selection: _camTrackType.
These variables are references to output cam tracks.
Parameter tab See Overview of parameters for Output cam track on - Parameters tab (Page 409)
Field/Button Explanation/Instruction
Expert tab See Overview of parameters for Output cam track on - Expert tab (Page 411)
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
At output cam track end
The next command is executed if the output cam track processing is finished.
When output cam track is activated
The next command is executed as soon as the output cam track is activated.
See also Delay program execution (step enabling condition) (Page 83).
Table 5- 197 Overview of parameters for Output cam track On – Parameters tab
Field/Button Explanation/instructions
Track length Here, you define the length of the output cam track. The individual output cams are
mapped onto the output cam track by converting their position values to modulo values
with respect to the track length.
Enter the value in the editable selection list (see Editable selection list (editable combo
box) (Page 66)).
Last programmed
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.camTrackLength.
Axis reference position Here, you specify how the output cam track is mapped onto the axis, i.e., the axis position
starting from which the output cam track is to be output.
Enter the value in the editable selection list (see Editable selection list (editable combo
box) (Page 66)).
Last programmed
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.axisReferencePosition.
Activation time The activation time shifts the switch-on instant of the single output cam.
Method of operation:
Negative value: Single output cam activation is moved up. For example, this allows you to
compensate for delay times of digital outputs and connected switching elements.
Positive value: Single output cam activation is delayed.
Enter the value in the editable selection list (see Editable selection list (editable combo
box) (Page 66)).
Last programmed
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.activationTime
Field/Button Explanation/instructions
Deactivation time The deactivation time shifts the switch-off instant of the single output cam.
Method of operation:
• Negative value: Single output cam deactivation is moved up. For example, this allows
you to compensate for delay times of digital outputs and connected switching
elements.
• Positive value: Single output cam deactivation is delayed.
Enter the value in the editable selection list (see Editable selection list (editable combo
box) (Page 66)).
Last programmed
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.deactivationTime.
Hysteresis The hysteresis defines a filter range around the switching position. The output signal is
not switched if the axis moves in the hysteresis range around the switching position. This
avoids flickering switching status changes.
Enter the value in the editable selection list (see Editable selection list (editable combo
box) (Page 66)).
Last programmed
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.hysteresisRange.
Activation mode Non-cyclical output cam track activation
The output cam track is mapped starting from the axis reference position, output once,
and terminated automatically after it is exited.
Cyclical output cam track activation
The track length of the output cam track starting from the axis reference position is
mapped and cyclically continued/repeated.
Last programmed
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.activationMode.
Start mode The start mode is used to define when the cam track should become effective after
activation or the process for switching between output cam tracks.
With next track cycle
The output cam track processing takes effect at the first cam cycle, i.e., as soon as the
first single cam switches the new track. Up to that point, a time-based cam of the previous
output cam track will be output.
Immediately
The output cam track processing takes effect immediately. If an output cam track is
already active, it is aborted.
Immediately when output cam output is inactive
The output cam track processing takes effect as soon as there are no more active single
output cams of the previous output cam track. An active single output cam of the previous
cam track will be output completely.
Last programmed
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.startMode.
Table 5- 198 Overview of parameters for Output cam track On – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
TO properties Here, you can adapt the parameter dialog box as needed to reflect the effects of
axis/encoder or output cam track configuration data or system variables.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 199 Parameters (MCC Output cam track On command compared to _enableCamTrack system functions)
This command is used to switch off an output cam track that was switched on with the
Output cam track On command.
For additional information on the Cam Track technology object, see the Output Cams and
Measuring Inputs Function Manual.
For additional information on the commands on the Cam Track technology object, see the
Output Cams and Measuring Inputs Function Manual.
Field/Button Explanation/Instruction
Axis/encoder Here, you select the axis or external encoder to which the output cam track to be
deactivated is associated. The list contains:
• All positioning and synchronous (following) axes and external encoders that are
defined on the relevant device.
The output cam tracks associated with the selected axis or external encoder are
automatically identified and displayed in the Measuring input field for selection, as
appropriate.
• <Reference>
You select this entry if the output cam track is not defined on the device but rather is
specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type _camTrackType
(references to cam tracks) are available for selection in the Cam track field (see also
Technology object data types (Page 101)).
Notice
You cannot select references to an axis or external encoder (variables of data type
posAxis, followingAxis, or external Encoder). There is no assignment for the reference to
the associated output cam tracks.
Instead, select the reference to the output cam track directly (variable of data type
_camTrackType).
Cam track (camTrackType) Here, the permissible output cam tracks are displayed according to the selected
Axis/Encoder and are available for selection, as appropriate:
• A positioning or synchronous axis or external encoder defined on the the device was
selected as the axis/encoder:
The output cam tracks associated with the selected axis/encoder are available for
selection.
• <Reference> was selected as the axis/encoder:
All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)) are available for selection:
_camTrackType.
These variables are references to output cam tracks.
Parameter tab See Overview of parameters for Output cam track off - Parameters tab (Page 414)
Expert tab See Overview of parameters for Output cam track off - Expert tab (Page 414)
Delay program execution Select the check box if you wish to delay execution of the following command until the
current command has been completed.
If the check box is not selected, the next command is executed immediately.
5.6.13.2 Overview of parameters for Output cam track Off – Parameters tab
Table 5- 201 Overview of parameters for Output cam track Off – Parameters tab
Field/Button Explanation/instructions
Stop mode The stop mode is used to define the behavior of the output cam track on deactivation.
Immediately
The output cam track processing is deactivated immediately. Any active single cam of the
output cam track is aborted.
Immediately when output cam output is inactive
The output cam track processing is deactivated as soon as there are no more active
single output cams of the output cam track. An active single output cam will be output
completely.
At end of output cam track
The output cam track processing is deactivated as soon as the last single cam of the
track switches. Up to that point, a time-based cam will be output.
The stop mode is used to define when the cam track should become effective after
activation, or how tracks should be changed.
Last programmed
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.startMode.
5.6.13.3 Overview of parameters for Output cam track Off – Expert tab
Table 5- 202 Overview of parameters for Output cam track Off – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 203 Parameters (MCC Output cam track Off command compared to _disableCamTrack system functions)
5.7.1 Gearing on
Gearing is characterized by a constant gear ratio between a master setpoint (position value
of a leading axis or external encoder) and a slave value (position value of a following axis).
Gearing is thus in positional synchronism.
This transmission ratio (gear ratio) can be specified as the ratio of two integers
(numerator/denominator) or as a decimal number.
An offset in the zero point (a phase displacement) can also be specified.
When gearing is started, the slave value is synchronized to the master setpoint with the
programmed synchronization settings.
The master value can be defined in the command; the master value can be modified later
with the Switch master value.
Active gearing can be offset both on the side of the master setpoint and on the side of the
slave value. The Set offset on the gearing command is used for this purpose.
Gearing can be ended:
● With the Gearing on command
● By starting another synchronous operation on the same synchronous object, e.g., with
another Gearing on command
● With a canceling single axis command on the following axis
NOTICE
The Stop axis command will only terminate the synchronous operation if Quick stop... was
selected as the Stop mode.
Additional information:
● General information on gearing, see the Technology Objects Synchronous Operation,
Cam Function Manual
● For general information on synchronization, see the Technology Objects Synchronous
Operation, Cam Function Manual
● For general information on switching over the master value source, see the Technology
Objects Synchronous Operation, Cam Function Manual
● For the fundamentals of synchronous operation, see the Technology Objects
Synchronous Operation, Cam Function Manual
Field/Button Explanation/Instruction
Following axis Here, you select the axis to be synchronized. The following are available:
• All synchronous axes that are defined on the relevant device. The axes are defined in the
AXES folder in the project navigator.
The synchronous objects associated with the selected synchronous axis are automatically
identified and displayed in the Synchronous operation field for selection, as appropriate.
• <Reference>
You select this entry if the axis to be synchronized is not defined on the device but rather is
specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type followingObjectType
(references to synchronous objects) are available for selection in the Synchronous
operation field (see also Technology object data types (Page 101)).
Notice
You cannot select any references to a synchronous axis (variable of followingAxis data type).
There is no assignment for the reference to the associated synchronous objects.
Instead, select the reference to the synchronous object directly (variable of data type
followingObjectType)
Synchronous operation Here, the permissible synchronous objects are displayed according to the selected Following
axis and are available for selection, as appropriate:
• A synchronous axis defined on the device has been selected as a following axis:
The synchronous object associated with the selected following axis is displayed
If more than one synchronous object is available (e.g., superimposed synchronous object),
you can select the synchronous object.
• <Reference> has been selected as a following axis:
All technology object-type variables declared in the MCC source file or MCC chart (see
Technology object data types (Page 101)) are available for selection: followingObjectType.
These variables are references to synchronous objects.
Parameter tab See Overview of parameters for Gearing on - Parameters tab (Page 419)
Synchronization tab See Overview of parameters for Gearing on - Synchronization tab (Page 422)
Dynamics tab See Overview of parameters for Gearing on - Dynamics tab (Page 427)
Expert tab See Overview of parameters for Gearing on - Expert tab (Page 427)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of the
command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following command in
the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command buffer
before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution of the
following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
Example:
See Example of Gearing on (Page 428)
Field/Button Explanation/Instruction
Reset master value Select this check box if you want to set the master setpoint of the synchronous relationship
(default)
If check box is cleared, a previous master setpoint setting is retained.
Master An entry is required in this field only if the Reset master value check box is selected.
axis/encoder/external Here, you select the axis or external encoder that generates the master setpoint in the
master value synchronous relationship. You can select from:
• All positioning and synchronous axes and external encoders that are available on the
device or a DP master.
• All technology object-type variables declared in the MCC source file or MCC chart (see
Description of the technology object data types (Page 101)): posAxis, followingAxis, or
externalEncoderType.
The master setpoint remains assigned to the synchronous object until a change occurs.
Gear direction Here, you select the effective direction of the gearing.
From sign of gear ratio (default value)
The effective direction of gearing is defined by the sign of the gear ratio.
Opposite direction
The following axis moves in the opposite direction from the leading axis.
Same direction
The following axis moves in the same direction as the leading axis.
Opposite current gearing direction
The gearing direction opposes the current gearing direction.
Current direction
Last programmed direction
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.gearingSettings.direction
Field/Button Explanation/Instruction
Gear ratio type The gear ratio is the ratio between the distances covered by the following axis (= numerator)
and the master axis (= denominator), each expressed in the configured units.
Here, you select whether the gear ratio is specified as a fraction (numerator/denominator) or
as a floating-point number.
Fraction (numerator / denominator)
The ratio is specified as a fraction
Floating-point number
The ratio is specified as a floating-point number
Last programmed
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.gearingSettings.defineMode
Gear ratio type Here you select which values are used for the gear ratio
Value entry
The values are entered directly in the parameter dialog box:
• In the Gear ratio numerator/denominator fields, or
• in the Gear ratio field)
Last programmed value
Preassigned value
See Selection list (combo box) (Page 65)
System variables for preassigned value:
• userDefault.gearingSettings.numerator and userDefault.gearingSettings.denominator
or
• userDefault.gearingSettings.ratio
Gear ratio numerator Here, you enter the numerator of the gear ratio as an integer. The unit configured for the
following axis is displayed for your information.
See also input field (Page 65).
Gear ratio denominator Here, you enter the denominator of the gear ratio as an integer. The unit configured for the
leading axis is displayed for your information.
See also input field (Page 65).
Field/Button Explanation/Instruction
Transformation ratio Enter the gear ratio as a floating-point number here.
See also input field (Page 65).
Reference point Here, you select the reference point for gearing.
Gearing takes place relative to axis zero (default value)
Absolute gearing: The linear coupling of the slave value to the master setpoint refers each time
to the axis zero point of the axes involved.
Any offset between the master setpoint and the slave value at the start of gearing is
compensated for during synchronization.
For some of the choices, an offset can be specified in the Start of synchronization field of the
Synchronization tab (see Overview of parameters for Gearing on - Synchronization tab
(Page 422)). This value is retained as a constant phase shift between slave value and master
setpoint after conclusion of the synchronization operation. Otherwise, the phase shift is equal
to 0.
Gearing relative to start position
Relative gearing: The linear coupling of the slave value to the master setpoint refers each time
to the position value of the axes involved at the start of gearing.
Any offset between the master setpoint and the slave value at the start of gearing is not
compensated for during synchronization. This offset is retained as a constant phase shift
between slave value and master setpoint after conclusion of the synchronization operation.
In addition, for some of the choices, an offset can be specified in the Start of synchronization
field of the Synchronization tab (see Overview of parameters for Gearing on - Synchronization
tab (Page 422)). This value acts as a constant phase shift between slave value and master
setpoint after conclusion of the synchronization operation.
Last programmed reference point
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.syncProfile.syncProfileReference
Field/Button Explanation/Instruction
Synchronization Here, you select the reference for the synchronization operation.
reference Leading axis
Length-related synchronization: Synchronization occurs (depending on the master axis motion)
within a defined range of the master setpoint (Synchronization length).
• Advantage: Synchronization occurs within an assignable range of the master setpoint.
• Disadvantage: The dynamic response of synchronization is dependent on the change in
the master setpoint (velocity). The dynamic response limits of the following axis are not
taken into account.
Time
Time-related synchronization: Synchronization occurs on the basis of specified dynamic
values. Program the relevant values in the Dynamics tab (see Overview of parameters for
Gearing on - Dynamics tab (Page 427)).
• Advantage: The synchronization operation always takes place with the specified dynamic
values.
• Disadvantage: The master setpoint range in which synchronization occurs cannot be
predicted.
Last programmed setting
Default value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncProfile.syncProfileReference
Field/Button Explanation/Instruction
Start of synchronization Here, you select when synchronization of gearing begins. Additional specifications are required
for many of the choices; these are indicated in the description.
at leading axis position
The gear is enabled at a programmed leading axis position.
Entries are required in the following fields:
• Reference point of leading axis
• Leading axis position
Synchronization occurs with respect to the following values:
• Master setpoint = last programmed leading axis position
• Slave value: depending on the selection in Reference point (see Overview of parameters
for Gearing On – Parameters tab (Page 419)):
– For gearing, relative to axis zero (default value):
Slave value = gear ratio * position of leading axis
– For gearing, relative to start position:
Slave value = current slave value
at master axis position with offset
The gear is enabled at a programmed leading axis position. An offset for the following axis is
additionally programmed.
Entries are required in the following fields:
• Offset of the following axis
• Reference point of leading axis
• Leading axis position
Synchronization occurs with respect to the following values:
• Master setpoint = last programmed leading axis position
• Slave value: See description in the field Offset of the following axis
Synchronize immediately
The gear is enabled immediately
Synchronization occurs with respect to the following values:
• Master setpoint = current master setpoint
• Slave value: depending on the selection in Reference point (see Overview of parameters
for Gearing On – Parameters tab (Page 419))
– For gearing, relative to axis zero (default value):
Slave value = gear ratio * current master setpoint
– For gearing, relative to start position:
Slave value = current slave value
...
(Continued in next row of table)
Field/Button Explanation/Instruction
Start of synchronization ...
(continued) Synchronize immediately with offset
The gear is enabled immediately An offset for the following axis is additionally programmed.
An entry is required in the following field:
• Offset of the following axis
Synchronization occurs with respect to the following values:
• Master setpoint = current master setpoint
• Slave value: See description in the field Offset of the following axis
At the following axis position
The gear is enabled at a programmed following axis position.
Entries are required in the following fields:
• Reference point of leading axis
• Following axis position
Synchronization occurs with respect to the following values:
• Master setpoint: depending on the selection in Reference point (see Overview of
parameters for Gearing On – Parameters tab (Page 419)):
– For gearing, relative to axis zero (default value):
Master setpoint = position of leading axis / gear ratio
– For gearing, relative to start position:
Master setpoint = current master setpoint
• Slave value = last programmed following axis position
Last programmed setting
Default value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.gearingSettings.synchronizingMode
Offset of the following An entry is required in this field if you have selected the following in the Start of
axis synchronization field:
• at master axis position with offset
• Synchronize immediately with offset
Here, you enter a value that is used to calculate the offset of the following axis for linear
coupling between the master axis and following axis.
Depending on the selection in Reference point (see Overview of parameters for Gearing On –
Parameters tab (Page 419)), the entered value has the following meaning:
• For gearing, relative to axis zero (default value):
Slave value relative to which synchronization occurs
• For gearing, relative to start position:
Additional offset to any offset between the following axis and master axis
Depending on the selection in Reference point (see Overview of parameters for Gearing on –
Parameters tab (Page 419)), the slave value relative to which synchronization occurs is thus:
• For gearing, relative to axis zero (default value):
Slave value = programmed offset
• For gearing, relative to start position:
Slave value = current slave value + programmed offset
See also input field (Page 65).
Field/Button Explanation/Instruction
Reference point of An entry is required in this field if you have selected the following in the Start of
leading axis synchronization field:
• at leading axis position
• at master axis position with offset
• At the following axis position
Here, you select how the programmed position (see the Following axis position or Leading axis
position field) acts relative to the selected synchronization profile.
Synchronize before synchronization position
Synchronization is finished at the programmed position.
Symmetrical
This choice is available only for leading axis synchronization reference.
Synchronization occurs in such a way that the programmed position is located symmetrically
within the synchronization length. At the programmed position, the master axis has covered
half the distance that is required for synchronization.
Synchronize from synchronization position
Synchronization starts at the programmed position.
Last programmed reference point of leading axis
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncProfile.syncPositionReference
Synchronization length An entry is required in this field if you have selected the following in the Synchronization
reference field:
• Leading axis
Enter the synchronization length in the editable selection list.
Last programmed synchronization length
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncProfile.syncLength
Following axis position An entry is required in this field if you have selected the following in the Start of
synchronization field:
• At the following axis position
Here, you enter the following axis position in the editable selection list.
Last programmed following axis position
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.gearingSettings.syncPositionSlave
Leading axis position An entry is required in this field if you have selected the following in the Start of
synchronization field:
• at leading axis position
• at master axis position with offset
Here, you enter the master axis position in the editable selection list.
Last programmed leading axis position
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.gearingSettings.syncPositionMaster
Field/Button Explanation/Instruction
Synchronization with An entry can be made in this field if you have selected the following:
look-ahead • In the Start of synchronization field:
(SIMOTION kernel V3.2 – at leading axis position
and higher) – at master axis position with offset
– Synchronize immediately
– Synchronize immediately with offset
– At the following axis position
• In the Reference point of leading axis field (if available):
– Synchronize from synchronization position
Here, you select whether the acceleration or deceleration of the master value is to be taken
into account in synchronization calculations (extended look-ahead):
Standard (default value)
No extended look-ahead
Expanded look ahead
Extended look-ahead is active: Acceleration or deceleration of master setpoint is taken into
account in synchronization calculations
Important: Extended look-ahead requires a lot of computing time.
Synchronization direction Here, you select the motion direction in which the following axis is to be synchronized.
(SIMOTION kernel V3.1 Retain system behavior
and higher) Synchronization occurs over the shortest path without direction specification. In the case of
moving axes, a check is made to determine whether the current motion direction can be
maintained.
Maintain direction of following axis
Synchronization takes place in the direction of motion of the following axis.
Positive
Synchronization occurs in the positive motion direction.
Negative
Synchronization occurs in the negative motion direction.
Shortest path
Synchronization occurs over the shortest path without direction specification.
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.gearingSettings.synchronizingDirection
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
The parameters in the Dynamics tab are evaluated only for time synchronization reference.
Velocity The entered value acts during the constant velocity phase.
System variable for preassigned value: userDefault.syncDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for preassigned value: userDefault.syncDynamics.profile
Notice
A constant velocity profile only takes effect if configuration data
syncingMotion.smoothAbsoluteSynchronization = YES is set.
When syncingMotion.smoothAbsoluteSynchronization = NO (default), a trapezoidal velocity
profile is always active.
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefault.syncDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefault.syncDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and end of
the respective phase.
System variables for preassigned value:
userDefault.syncDynamics.positiveAccelStartJerk,
userDefault.syncDynamics.positiveAccelEndJerk,
userDefault.syncDynamics.negativeAccelStartJerk,
userDefault.syncDynamics.negativeAccelEndJerk
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status with
this variable.
Return variable If you enter the name of a variable of the specified data type for each command step, you can
use this variable to find out the result of the command step.
Data type DINT; for a description, see Return value for system functions of the technology
packages (Page 86).
Table 5- 209 Parameters (MCC Gearing on command compared to _enableGearing and _setMaster system functions)
This command enables you to terminate gearing that was started with the Gearing on
command. Desynchronization occurs with the programmed desynchronization settings.
Additional information:
● For general information on gearing, see the Technology Objects Synchronous Operation,
Cam Function Manual
● For general information on synchronization, see the Technology Objects Synchronous
Operation, Cam Function Manual
● For general information on switching over the master value source, see the Technology
Objects Synchronous Operation, Cam Function Manual
● For the fundamentals of synchronous operation, see the Technology Objects
Synchronous Operation, Cam Function Manual
Field/Button Explanation/Instruction
Following axis Here, you select the axis to be desynchronized. The following are available:
• All synchronous axes that are defined on the relevant device. The axes are defined in
the AXES folder in the project navigator.
The synchronous objects associated with the selected synchronous axis are
automatically identified and displayed in the Synchronous operation field for selection,
as appropriate.
• <Reference>
You select this entry if the axis to be desynchronized is not defined on the device but
rather is specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type
followingObjectType (references to synchronous objects) are available for selection in
the Synchronous operation field (see also Technology object data types (Page 101)).
Notice
You cannot select any references to a synchronous axis (variable of followingAxis data
type). There is no assignment for the reference to the associated synchronous objects.
Instead, select the reference to the synchronous object directly (variable of data type
followingObjectType)
Synchronous operation Here, the permissible synchronous objects are displayed according to the selected
Following axis and are available for selection, as appropriate:
• A synchronous axis defined on the device has been selected as a following axis:
The synchronous object associated with the selected following axis is displayed
If more than one synchronous object is available (e.g., superimposed synchronous
object), you can select the synchronous object.
• <Reference> has been selected as a following axis:
All technology object-type variables declared in the MCC source file or MCC chart
(see Description of the technology object data types (Page 101)) are available for
selection: followingObjectType.
These variables are references to synchronous objects.
Desynchronization tab See Overview of parameters for Gearing off – Desynchronization tab (Page 433)
Dynamics tab See Overview of parameters for Gearing off – Dynamics tab (Page 436)
Expert tab see Overview of parameters for Gearing off – Expert tab (Page 436)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of
the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command buffer
before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83)
Field/Button Meaning/Instruction
Synchronization reference Here you select the reference for the desynchronization operation.
Leading axis
Length-related synchronization: Synchronization occurs (depending on the master axis
motion) within a defined range of the master setpoint (Desynchronization length).
• Advantage: Synchronization occurs within an assignable range of the master setpoint.
• Disadvantage: The dynamic response of synchronization is dependent on the change
in the master setpoint (velocity). The dynamic response limits of the slave axis are not
taken into account.
Time
Time-related synchronization: Synchronization occurs on the basis of specified dynamic
values. Program the relevant values in the Dynamics tab (see Overview of parameters for
Gearing off - Dynamics tab (Page 436)).
• Advantage: The synchronization operation always takes place with the specified
dynamic values.
• Disadvantage: The master setpoint range in which synchronization occurs cannot be
predicted.
Last programmed setting
Default value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncProfile.syncProfileReference
Desynchronization position Here, you select when desynchronization of gearing begins. Additional specifications are
required for some of the choices; these are indicated in the description.
At leading axis value
Gearing is disabled at a programmed master axis position.
Entries are required in the following fields:
• Reference point of desynchronization position
• Leading axis position
Desynchronize immediately
Gearing is disabled immediately
At following axis value
Gearing is disabled at a programmed slave axis position.
Entries are required in the following fields:
• Reference point of desynchronization position
• Following axis position
Last programmed start of desynchronization
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.gearingSettings.syncOffMode
Field/Button Meaning/Instruction
Reference point of An entry is required in this field if you have selected the following in the
desynchronization position Desynchronization position field:
• At leading axis value
• At following axis value
Here, you select how the programmed position (see the Following axis position or
Leading axis position field) acts relative to the selected desynchronization profile.
Stop before desynchronization position
Synchronization is finished at the programmed position.
Symmetrical
This choice is available only for leading axis synchronization reference.
Desynchronization occurs in such a way that the programmed position is located
symmetrically within the desynchronization length. At the programmed position, the
master axis has covered half the distance that is required for synchronization.
Stop from desynchronization position
Desynchronization starts at the programmed position.
Last programmed reference point of leading axis position
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncProfile.syncOffPositionReference
Desynchronization length An entry is required in this field if you have selected the following in the Synchronization
reference field:
• Leading axis
Enter the desynchronization length in the editable selection list.
Last programmed desynchronization length
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncProfile.syncOffLength
Following axis position An entry is required in this field if you have selected the following in the
Desynchronization position field:
• At following axis value
Here, you enter the slave axis position in the editable selection list.
Default
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncOffPositions.Slave
Field/Button Meaning/Instruction
Leading axis position An entry is required in this field if you have selected the following in the
Desynchronization position field:
• At leading axis value
Here, you enter the master axis position in the editable selection list.
Default
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncOffPositions.Master
Synchronization direction Here, you select the motion direction in which the following axis is to be desynchronized.
Retain system behavior
Synchronization occurs over the shortest path without direction specification. In the case
of moving axes, a check is made to determine whether the current motion direction can
be maintained.
Maintain direction of following axis
Synchronization takes place in the direction of motion of the following axis.
Positive
Synchronization occurs in the positive motion direction.
Negative
Synchronization occurs in the negative motion direction.
Shortest path
Synchronization occurs over the shortest path without direction specification.
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value:
userdefault.gearingSettings.synchronizingDirection
Table 5- 212 Overview of parameters for Gearing off – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
The parameters in the Dynamics tab are evaluated only for time synchronization
reference.
Velocity The entered value acts during the constant velocity phase.
System variables for preassigned value: userDefault.syncDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
System variables for preassigned value: userDefault.syncDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefault.syncDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefault.syncDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value:
userDefault.syncDynamics.positiveAccelStartJerk
userDefault.syncDynamics.positiveAccelEndJerk
userDefault.syncDynamics.negativeAccelStartJerk
userDefault.syncDynamics.negativeAccelEndJerk
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 214 Parameters (MCC Gearing off command compared to _disableGearing system functions)
This command causes an offset in the master axis or following axis range during the gearing
operation. You can use a parameter to determine when the programmed offset is to take
effect (as well as other properties).
● For the active gearing command
and/or
● For subsequent gearing commands
Offsets that act on the active gearing command and offsets that are stored and applied to
subsequent gearing commands can be read from the gearingAdjustment system variable.
Additional information:
● For the fundamentals of synchronous operation, see the Technology Objects
Synchronous Operation, Cam Function Manual
● For information on scaling and offset, see the Technology Objects Synchronous
Operation, Cam Function Manual
Field/Button Explanation/Instruction
Axis Here, you select the axis for which gearing is to be offset. The following are available:
• All synchronous axes that are defined on the relevant device. The axes are defined in
the AXES folder in the project navigator.
The synchronous objects associated with the selected synchronous axis are
automatically identified and displayed in the Synchronous operation field for selection, as
appropriate.
• <Reference>
You select this entry if the axis to be synchronized is not defined on the device but rather
is specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type followingObjectType
(references to synchronous objects) are available for selection in the Synchronous
operation field (see also Technology object data types (Page 101)).
Notice
You cannot select any references to a synchronous axis (variable of followingAxis data
type). There is no assignment for the reference to the associated synchronous objects.
Instead, select the reference to the synchronous object directly (variable of data type
followingObjectType)
Synchronous operation Here, the permissible synchronous objects are displayed according to the selected Axis and
are available for selection, as appropriate:
• A synchronous axis defined on the device has been selected as an axis:
The synchronous object associated with the selected following axis is displayed
If more than one synchronous object is available (e.g., superimposed synchronous
object), you can select the synchronous object.
• <Reference> has been selected as the axis:
All technology object-type variables declared in the MCC source file or MCC chart (see
Technology object data types (Page 101)) are available for selection:
followingObjectType.
These variables are references to synchronous objects.
Parameter tab See Overview of parameters for Set offset on the gearing – Parameters tab (Page 440)
Dynamics tab See Overview of parameters for Set offset on the gearing – Dynamics tab (Page 441)
Expert tab See Overview of parameters for Set offset on the gearing – Expert tab (Page 441)
Field/Button Explanation/Instruction
Effect Here, you select which commands the offset will act on.
On active command (default value)
The offset acts on the active gearing command and remains active until this command is
replaced or desynchronized using the Gearing off command.
The offset value is stored in system variables gearingAdjustment.master.offset or
gearingAdjustment.slave.offset (depending on the range).
on following commands
The active gearing command is executed; the offset is stored and in effect for subsequent
Gearing off commands.
The offset value is stored in system variables gearingAdjustment.defaultValueMaster.offset
or gearingAdjustment.defaultValueSlave.offset (depending on the range).
On active command and following commands
The offset acts on the current gearing command and on all subsequent Gearing on
commands.
The offset value is stored in system variables gearingAdjustment.master.offset and
gearingAdjustment.defaultValueMaster.offset or gearingAdjustment.slave.offset and
gearingAdjustment.defaultValueSlave.offset (depending on the range).
Delay program execution • Select the check box if you wish the system to delay execution of the following command
in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of the
following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
5.7.3.2 Overview of parameters for Set offset on the gearing – Parameters tab
Table 5- 216 Overview of parameters for Set offset on the gearing – Parameters tab
Field/Button Explanation/Instruction
Area Here, you select whether the master axis or following axis range will be offset.
Master range (default value)
The master axis range is offset.
Slave range
The following axis range is offset.
Offset Offset for the selected range.
Enter the value as a signed floating-point number.
See also input field (Page 65).
Mode Select the type of offset.
Absolute(default value)
The offset is applied as an absolute value.
Relative
The offset is relative to the corresponding value in the gearingAdjustments system variable.
5.7.3.3 Overview of parameters for Set offset on the gearing – Dynamic response tab
Table 5- 217 Overview of parameters for Set offset on the gearing – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
Velocity The entered value acts during the constant velocity phase.
System variables for preassigned value: userDefault.syncDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
System variables for preassigned value: userDefault.syncDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefault.syncDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variables for preassigned value: userDefault.syncDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and end
of the respective phase.
System variables for preassigned value: userDefault.syncDynamics.positiveAccelStartJerk
userDefault.syncDynamics.positiveAccelEndJerk
userDefault.syncDynamics.negativeAccelStartJerk
userDefault.syncDynamics.negativeAccelEndJerk
See also
Expert tab (Page 79)
5.7.3.4 Overview of parameters for Set offset on the gearing – Expert tab
Table 5- 218 Overview of parameters for Set offset on the gearing – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status with
this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the technology
packages (Page 86).
Table 5- 219 Parameters (MCC Set gearing on the offset command compared to _setGearingOffset system function)
Velocity gearing is characterized by a constant gear ratio between a master value (velocity of
a master axis or external encoder) and a slave value (velocity of a following axis). Unlike
gearing, velocity gearing is not in positional synchronism.
When velocity gearing is started, the slave value is synchronized to the master value with the
programmed dynamic response settings.
The gear ratio is specified as a decimal number.
The master value can be defined in the command; the master value can be modified later
with the Switch master value.
NOTICE
The Stop axis command will only terminate velocity gearing if Quick stop... was selected
as the Stop mode.
Additional information:
● For general information on velocity gearing, see the Technology Objects Synchronous
Operation, Cam Function Manual
● For general information on switching over the master value source, see the Technology
Objects Synchronous Operation, Cam Function Manual
● For the fundamentals of synchronous operation, see the Technology Objects
Synchronous Operation, Cam Function Manual
Field/Button Explanation/Instruction
Following axis Here, you select the axis to be synchronized. The following are available:
• All synchronous axes that are defined on the relevant device. The axes are defined in
the AXES folder in the project navigator.
The synchronous objects associated with the selected synchronous axis are
automatically identified and displayed in the Synchronous operation field for selection,
as appropriate.
• <Reference>
You select this entry if the axis to be synchronized is not defined on the device but
rather is specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type
followingObjectType (references to synchronous objects) are available for selection in
the Synchronous operation field (see also Technology object data types (Page 101)).
Notice
You cannot select any references to a synchronous axis (variable of followingAxis data
type). There is no assignment for the reference to the associated synchronous objects.
Instead, select the reference to the synchronous object directly (variable of data type
followingObjectType)
Synchronous operation Here, the permissible synchronous objects are displayed according to the selected
Following axis and are available for selection, as appropriate:
• A synchronous axis defined on the device has been selected as a following axis:
The synchronous object associated with the selected following axis is displayed
If more than one synchronous object is available (e.g., superimposed synchronous
object), you can select the synchronous object.
• <Reference> has been selected as a following axis:
All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)) are available for selection:
followingObjectType.
These variables are references to synchronous objects.
Parameter tab See Overview of parameters for Velocity gearing on - Parameters tab (Page 446)
Dynamics tab See Overview of parameters for Velocity gearing on - Dynamics tab (Page 447)
Expert tab See Overview of parameters for Velocity gearing On - Expert tab (Page 447)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of
the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command buffer
before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See Delay program execution (step enabling condition) (Page 83).
Table 5- 221 Overview of parameters for Synchronous velocity operation on – Parameters tab
Field/Button Explanation/Instruction
Reset master value Select this check box if you want to set the master setpoint of the velocity relationship
(default).
If check box is cleared, a previous master setpoint setting is retained.
Master axis/encoder/external An entry is required in this field only if the Reset master value check box is selected.
master value Here, you select the axis or external encoder that generates the master setpoint in the
velocity relationship. You can select from:
• All positioning and synchronous axes and external encoders that are available on the
device or a DP master.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)): posAxis, followingAxis, or
externalEncoderType.
The master setpoint remains assigned to the velocity object until a change occurs.
Gear direction Here, you select the effective direction of the gearing.
From sign of gear ratio (default value)
The effective direction of gearing is defined by the sign of the gear ratio.
Opposite direction
The following axis moves in the opposite direction from the leading axis.
Same direction
The following axis moves in the same direction as the leading axis.
Opposite current gearing direction
The gearing direction opposes the current gearing direction.
Current direction
Last programmed direction
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.gearingSettings.direction
Gear ratio type Here you select which values are used for the gear ratio
Value entry
The values are entered directly in the parameter dialog box (in the gear ratio field)
Last programmed value
Preassigned value
See Selection list (combo box) (Page 65)
System variables for preassigned value: userDefault.gearingSettings.ratio
Transformation ratio Enter the gear ratio as a floating-point number here.
See also input field (Page 65).
5.7.4.3 Overview of parameters for Synchronous velocity operation on – Dynamic response tab
Table 5- 222 Overview of parameters for Synchronous velocity operation on – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for preassigned value: userDefault.syncDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefault.syncDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefault.syncDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value:
userDefault.syncDynamics.positiveAccelStartJerk
userDefault.syncDynamics.positiveAccelEndJerk
userDefault.syncDynamics.negativeAccelStartJerk
userDefault.syncDynamics.negativeAccelEndJerk
Table 5- 223 Overview of parameters for Synchronous velocity operation on – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type for each command step, you
can use this variable to find out the result of the command step.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 224 Parameters (MCC Velocity gearing On command compared to _enableVelocityGearing and _setMaster
system functions)
This command enables you to terminate gearing that was started with the Velocity gearing
On command. Desynchronization occurs with the programmed dynamic response settings.
Additional information:
● For general information on velocity gearing, see the Technology Objects Synchronous
Operation, Cam Function Manual
● For general information on switching over the master value source, see the Technology
Objects Synchronous Operation, Cam Function Manual
● For the fundamentals of synchronous operation, see the Technology Objects
Synchronous Operation, Cam Function Manual
Field/Button Explanation/Instruction
Following axis Here, you select the axis to be desynchronized. The following are available:
• All synchronous axes that are defined on the relevant device. The axes are defined in
the AXES folder in the project navigator.
The synchronous objects associated with the selected synchronous axis are
automatically identified and displayed in the Synchronous operation field for selection,
as appropriate.
• <Reference>
You select this entry if the axis to be desynchronized is not defined on the device but
rather is specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type
followingObjectType (references to synchronous objects) are available for selection in
the Synchronous operation field (see also Technology object data types (Page 101)).
Notice
You cannot select any references to a synchronous axis (variable of followingAxis data
type). There is no assignment for the reference to the associated synchronous objects.
Instead, select the reference to the synchronous object directly (variable of data type
followingObjectType)
Synchronous operation Here, the permissible synchronous objects are displayed according to the selected
Following axis and are available for selection, as appropriate:
• A synchronous axis defined on the device has been selected as a following axis:
The synchronous object associated with the selected following axis is displayed
If more than one synchronous object is available (e.g., superimposed synchronous
object), you can select the synchronous object.
• <Reference> has been selected as a following axis:
All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)) are available for selection:
followingObjectType.
These variables are references to synchronous objects.
Dynamics tab See Overview of parameters for Velocity gearing off - Dynamics tab (Page 452)
Expert tab See Overview of parameters for Velocity gearing off - Expert tab (Page 452)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of
the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command buffer
before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83)
5.7.5.2 Overview of parameters for Synchronous velocity operation off – Dynamic response tab
Table 5- 226 Overview of parameters for Synchronous velocity operation off – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75)
Velocity profile In this field, you define the transitions between the individual motion phases.
System variables for preassigned value: userDefault.syncDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefault.syncDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefault.syncDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value:
userDefault.syncDynamics.positiveAccelStartJerk
userDefault.syncDynamics.positiveAccelEndJerk
userDefault.syncDynamics.negativeAccelStartJerk
userDefault.syncDynamics.negativeAccelEndJerk
5.7.5.3 Overview of parameters for Synchronous velocity operation off – Expert tab
Table 5- 227 Overview of parameters for Synchronous velocity operation off – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 228 Parameters (MCC Synchronous velocity operation off command compared to _disableVelocityGearing system
function)
5.7.6 Cam on
Camming is characterized by a variable gear ratio between a master value (position value of
a master axis or external encoder) and a slave value (position value of a following axis).
Camming is thus in positional synchronism.
The variable gear ratio is described by a cam (transmission function).
You can adapt the camming functionality to your requirements using various programmable
axis evaluations and cam execution modes.
When camming is started, the slave value is synchronized to the master value with the
programmed synchronization settings. It is also possible to switch to another cam at the end
of an active cam.
The master value can be defined in the command; the master value can be modified later
with the Switch master value.
Active camming can be scaled and offset both on the side of the master value and on the
side of the slave value. This enables a cam to be adjusted individually in its definition and
value range.
NOTICE
The Stop axis command will only terminate the synchronous operation if Quick stop...
was selected as the Stop mode.
Additional information:
● For general information on camming, see the Technology Objects Synchronous
Operation, Cam Function Manual
● For general information on switching over the master value source, see the Technology
Objects Synchronous Operation, Cam Function Manual
● For the fundamentals of synchronous operation, see the Technology Objects
Synchronous Operation, Cam Function Manual
Field/Button Explanation/Instruction
Following axis Here, you select the axis to be synchronized. The following are available:
• All synchronous axes that are defined on the relevant device. The axes are defined
in the AXES folder in the project navigator.
The synchronous objects associated with the selected synchronous axis are
automatically identified and displayed in the Synchronous operation field for
selection, as appropriate.
• <Reference>
You select this entry if the axis to be synchronized is not defined on the device but
rather is specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type
followingObjectType (references to synchronous objects) are available for selection
in the Synchronous operation field (see also Technology object data types
(Page 101)).
Notice
You cannot select any references to a synchronous axis (variable of followingAxis data
type). There is no assignment for the reference to the associated synchronous objects.
Instead, select the reference to the synchronous object directly (variable of data type
followingObjectType)
Synchronous operation Here, the permissible synchronous objects are displayed according to the selected
Following axis and are available for selection, as appropriate:
• A synchronous axis defined on the device has been selected as a following axis:
The synchronous object associated with the selected following axis is displayed
If more than one synchronous object is available (e.g., superimposed synchronous
object), you can select the synchronous object.
• <Reference> has been selected as a following axis:
All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)) are available for selection:
followingObjectType.
These variables are references to synchronous objects.
Parameter tab See Overview of parameters for Cam on - Parameters tab (Page 457)
Synchronization tab See Overview of parameters for Cam on - Synchronization tab (Page 459)
Dynamics tab See Overview of parameters for Cam on - Dynamics tab (Page 465)
Expert tab See Overview of parameters for Cam on - Expert tab (Page 465)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position
of the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command
buffer before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution
of the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
Field/Button Meaning/Instruction
Reset master value Select this check box if you want to set the master setpoint of the synchronous
relationship (default)
If check box is cleared, a previous master setpoint setting is retained.
Master axis/encoder/external An entry is required in this field only if the Reset master value check box is selected.
master value Here, you select the axis or external encoder that generates the master setpoint in the
synchronous relationship. You can select from:
• All positioning and synchronous axes and external encoders that are available on
the device or a DP master.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)): posAxis, followingAxis, or
externalEncoderType.
The master setpoint remains assigned to the synchronous object until a change
occurs.
Cam Here, select the cam that describes the synchronous relationship. The following are
available:
• All cams that are defined on the relevant device. The cams are defined in the
CAMS folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)): camType.
Notice
In the latter case, you must set up the relationships (links) between the cam and the
synchronous object of the slave axis in the project navigator. The MCC Editor does
this for standard cases.
Cam direction Here, you select the direction in which the cam is moved when master setpoints are
increasing.
Positive
The cam is executed in the same direction as the change in the master setpoint.
• If the change in the master setpoint is positive, the cam is executed in the direction
of increasing definition range values (to the right).
• If the change in the master setpoint is negative, the cam is executed in the
direction of decreasing definition range values (to the left).
Negative
The cam is executed in the opposite direction as the change in the master setpoint.
• If the change in the master setpoint is positive, the cam is executed in the direction
of decreasing definition range values (to the left).
• If the change in the master setpoint is negative, the cam is executed in the
direction of increasing definition range values (to the right).
Last programmed direction
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.cammingSettings.direction
Field/Button Meaning/Instruction
Evaluation of the leading axis Here, you select whether the master setpoint behaves absolutely or relatively with
respect to the cam.
Absolute
The master setpoint is applied as an absolute value in the definition range of the cam.
Relative
The master setpoint is applied as a relative value (relative to the starting point of
camming) in the definition range of the cam.
Please note that the value for the Offset to cam starting point field (see the parameter
overview for Cam on – Synchronization tab (Page 459)) must be within the cam's
definition range.
Last programmed value
Default (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.cammingSettings.masterMode
Evaluation of the following axis Here, you select whether the slave value behaves absolutely or relatively with respect
to the cam.
Absolute
The slave value can be calculated as an absolute value from the value range of the
cam.
If the cam is processed cyclically (see the Cam processing field), the slave value
begins with the initial value at each new cam cycle.
Relative
The slave value can be calculated as a relative value (relative to the starting point of
camming) from the value range of the cam.
If the cam is processed cyclically (see the Cam processing field), the slave value
continues with the end value of the previous cam cycle at each new cam cycle.
Last programmed value
Default (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.cammingSettings.slaveMode
Processing the cam Here, you select whether the cam is to be processed cyclically.
Cyclic processing
The master setpoints are calculated modulo to the cam length. If the master setpoint
reaches the end point of the definition range of the cam, the cam continues to be
processed with the start value.
Non-cyclic processing
The master setpoints are limited to the definition range of the cam; the cam is
executed once in the definition range.
If the master setpoint reaches the starting point or end point of the definition range of
the cam, the cam is no longer processed. When the master setpoints are passed
through again in the same direction (modulo axis), the slave values do not change.
Last programmed cam mode
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.CammingSettings.cammingMode
Field/Button Explanation/Instruction
Synchronization reference Here, you select the reference for the synchronization operation.
Leading axis
Length-related synchronization: Synchronization occurs (depending on the master axis
motion) within a defined range of the master setpoint (Synchronization length).
• Advantage: Synchronization occurs within an assignable range of the master
setpoint.
• Disadvantage: The dynamic response of synchronization is dependent on the
change in the master setpoint (velocity). The dynamic response limits of the
following axis are not taken into account.
Time
Time-related synchronization: Synchronization occurs on the basis of specified
dynamic values. Program the relevant values in the Dynamics tab (see Overview of
parameters for Cam on - Dynamics tab (Page 465)).
• Advantage: The synchronization operation always takes place with the specified
dynamic values.
• Disadvantage: The master setpoint range in which synchronization occurs cannot
be predicted.
Last programmed setting
Default value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncProfile.syncProfileReference
Field/Button Explanation/Instruction
Start of synchronization Here, you select when synchronization of the cam begins. Additional specifications are
required for many of the choices; these are indicated in the description.
at leading axis position
Camming is enabled at a programmed master axis position.
Entries are required in the following fields:
• Reference point of leading axis
• Leading axis position
Synchronization occurs with respect to the following values:
• Master setpoint = last programmed leading axis position
• Slave value: depending on the selection in Evaluation of the following axis (see
Overview of parameters for Cam On – Parameters tab):
– For Absolute:
Slave value is calculated with the cam from the programmed leading axis
position, taking into account:
Evaluation of the leading axis
Processing the cam
Any offset to cam starting point
– For Relative: Slave value = current slave value
at master axis position with offset
Camming is enabled at a programmed master axis position. An offset for the following
axis is additionally programmed.
Entries are required in the following fields:
• Offset of the following axis
• Reference point of leading axis
• Leading axis position
Synchronization occurs with respect to the following values:
• Master setpoint = last programmed leading axis position
• Slave value: depending on the selection in Evaluation of the following axis (see
Overview of parameters for Cam On – Parameters tab):
For Absolute:
Slave value = calculated slave value + programmed offset
The calculated slave value is determined the same way as for the At leading axis
position selection.
For Relative:
Slave value = current slave value + programmed offset
Field/Button Explanation/Instruction
Start of synchronization Synchronize immediately
(continued) Camming is enabled immediately.
Synchronization occurs with respect to the following values:
• Master setpoint = current master setpoint
• Slave value: depending on the selection in Evaluation of the following axis (see
Overview of parameters for Cam On – Parameters tab):
– For Absolute:
Slave value is calculated with the cam from the current master setpoint, taking
into account:
Evaluation of the leading axis
Processing the cam
Any offset to cam starting point
– For Relative:
Slave value = current slave value
Synchronize immediately with offset
Camming is enabled immediately. An offset for the following axis is additionally
programmed.
An entry is required in the following field:
• Offset of the following axis
Synchronization occurs with respect to the following values:
• Master setpoint = current master setpoint
• Slave value: depending on the selection in Evaluation of the following axis (see
Overview of parameters for Cam On – Parameters tab):
– For Absolute:
Slave value = calculated slave value + programmed offset
The calculated slave value is determined the same way as for the Synchronize
immediately selection.
– For Relative:
Slave value = current slave value + programmed offset
Field/Button Explanation/Instruction
Start of synchronization At end of cam cycle
(continued) This choice is available only for Evaluation of the leading axis as Relative.
Camming is enabled when both of the following occur:
1. A camming operation of this synchronous object is already active with another cam
2. The master setpoint of the active camming operation reaches the end of the cam or
the cam cycle
This enables a switch from one cam to another at a defined point in time.
An entry is required in the following field:
• Reference point of leading axis
Synchronization occurs with respect to the following values:
• Master setpoint = master setpoint at the end of the cam cycle
• Slave value: depending on the selection in Evaluation of the following axis (see
Overview of parameters for Cam On – Parameters tab):
– For Absolute:
Slave value is calculated with the cam from the master setpoint at the end of
the cam cycle, taking into account:
Processing the cam
Offset in relation to cam starting point
– For Relative:
Slave value = current slave value
Last programmed setting
Default value
See Selection list (combo box) (Page 65)
System variable for preassigned value:
userdefault.cammingSettings.synchronizingMode
Offset of the following axis An entry is required in this field if you have selected the following in the Start of
synchronization field:
• at master axis position with offset
• Synchronize immediately with offset
Here, you enter an offset that will be added to the calculated or current following axis
position.
See also input field (Page 65).
Field/Button Explanation/Instruction
Reference point of leading axis An entry is required in this field if you have selected the following in the Start of
synchronization field:
• at leading axis position
• at master axis position with offset
• At end of cam cycle
Here, you select how the programmed position (see the Leading axis position field)
acts relative to the selected synchronization profile.
Synchronize before synchronization position
Synchronization is finished at the programmed position.
Symmetrical
This choice is available only for leading axis synchronization reference.
Synchronization occurs in such a way that the programmed position is located
symmetrically within the synchronization length. At the programmed position, the
master axis has covered half the distance that is required for synchronization.
Synchronize from synchronization position
Synchronization starts at the programmed position.
Last programmed reference point of leading axis
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncProfile.syncPositionReference
Synchronization length An entry is required in this field if you have selected the following in the
Synchronization reference field:
• Leading axis
The synchronization length is the master setpoint range in which synchronization
occurs. Enter the value in the editable selection list (see Editable selection list (editable
combo box)).
Last programmed synchronization length
Preassigned value
See Selection list (combo box).
System variable for preassigned value: userdefault.syncProfile.syncLength
Offset in relation to cam starting An entry is required in this field if you have selected the following in the Evaluation of
point the leading axis field (see Overview of parameters for Cam on – Parameters tab):
• Relative
The offset to the cam starting point specifies the starting point of the cam within its
definition range. Enter the value in the editable selection list (see Editable selection list
(editable combo box)).
Last programmed starting point
Preassignment (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.cammingSettings.camStartPosition
Following axis position Here, you enter the following axis position in the editable selection list.
Last programmed following axis position
Preassigned value
See Selection list (combo box).
System variable for preassigned value:
userdefault.cammingSettings.syncPositionSlave
Field/Button Explanation/Instruction
Leading axis position An entry is required in this field if you have selected the following in the Start of
synchronization field:
• at leading axis position
• at master axis position with offset
Here, you enter the master axis position in the editable selection list.
Last programmed leading axis position
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value:
userdefault.cammingSettings.syncPositionMaster
Synchronization direction Here, you select the motion direction in which the following axis is to be synchronized.
Retain system behavior
Synchronization occurs over the shortest path without direction specification. In the
case of moving axes, a check is made to determine whether the current motion
direction can be maintained.
Maintain direction of following axis
Synchronization takes place in the direction of motion of the following axis.
Positive
Synchronization occurs in the positive motion direction.
Negative
Synchronization occurs in the negative motion direction.
Shortest path
Synchronization occurs over the shortest path without direction specification.
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value:
userdefault.cammingSettings.synchronizingDirection
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
The parameters in the Dynamic response tab are evaluated only for time
synchronization reference.
Velocity The entered value acts during the constant velocity phase.
System variable for preassigned value: userDefault.syncDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for preassigned value: userDefault.syncDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefault.syncDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefault.syncDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value:
userDefault.syncDynamics.positiveAccelStartJerk
userDefault.syncDynamics.positiveAccelEndJerk
userDefault.syncDynamics.negativeAccelStartJerk
userDefault.syncDynamics.negativeAccelEndJerk
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
Return variable If you enter the name of a variable of the specified data type for each command step,
you can use this variable to find out the result of the command step.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 234 Parameters (MCC Cam on command compared to _enableCamming and _setMaster system functions)
This command enables you to terminate camming that was started with the Cam on
command. Desynchronization occurs with the programmed desynchronization settings.
Additional information:
● For general information on camming, see the Technology Objects Synchronous
Operation, Cam Function Manual
● For general information on switching over the master value source, see the Technology
Objects Synchronous Operation, Cam Function Manual
● For the fundamentals of synchronous operation, see the Technology Objects
Synchronous Operation, Cam Function Manual
Field/Button Explanation/Instruction
Following axis Here, you select the axis to be desynchronized. The following are available:
• All synchronous axes that are defined on the relevant device. The axes are defined in the
AXES folder in the project navigator.
The synchronous objects associated with the selected synchronous axis are
automatically identified and displayed in the Synchronous operation field for selection, as
appropriate.
• <Reference>
You select this entry if the axis to be desynchronized is not defined on the device but
rather is specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type followingObjectType
(references to synchronous objects) are available for selection in the Synchronous
operation field (see also Technology object data types (Page 101)).
Notice
You cannot select any references to a synchronous axis (variable of followingAxis data
type). There is no assignment for the reference to the associated synchronous objects.
Instead, select the reference to the synchronous object directly (variable of data type
followingObjectType)
Synchronous operation Here, the permissible synchronous objects are displayed according to the selected Following
axis and are available for selection, as appropriate:
• A synchronous axis defined on the device has been selected as a following axis:
The synchronous object associated with the selected following axis is displayed
If more than one synchronous object is available (e.g., superimposed synchronous
object), you can select the synchronous object.
• <Reference> has been selected as a following axis:
All technology object-type variables declared in the MCC source file or MCC chart (see
Technology object data types (Page 101)) are available for selection:
followingObjectType.
These variables are references to synchronous objects.
Desynchronization tab See Overview of parameters for Cam off - Desynchronization tab (Page 471)
Dynamics tab See Overview of parameters for Cam off - Dynamics tab (Page 474)
Expert tab See Overview of parameters for Cam off - Expert tab (Page 474)
Field/Button Explanation/Instruction
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axis. The selected behavior determines the position of the
command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following command
in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the command must be entered in the command buffer
before the next command is executed.
• Select the condition that has to be satisfied before the system continues execution of the
following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
Field/Button Meaning/Instruction
Synchronization reference Here you select the reference for the desynchronization operation.
Leading axis
Length-related synchronization: Synchronization occurs (depending on the master axis
motion) within a defined range of the master setpoint (Desynchronization length).
• Advantage: Synchronization occurs within an assignable range of the master
setpoint.
• Disadvantage: The dynamic response of synchronization is dependent on the
change in the master setpoint (velocity). The dynamic response limits of the slave
axis are not taken into account.
Time
Time-related synchronization: Synchronization occurs on the basis of specified
dynamic values. Program the relevant values in the Dynamics tab (see Overview of
parameters for Cam off - Dynamics tab (Page 474)).
• Advantage: The synchronization operation always takes place with the specified
dynamic values.
• Disadvantage: The master setpoint range in which synchronization occurs cannot
be predicted.
Last programmed setting
Default value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncProfile.syncProfileReference
Desynchronization position Here, you select when desynchronization of camming begins. Additional specifications
are required for some of the choices; these are indicated in the description.
At leading axis value
Camming is disabled at a programmed master axis position.
Entries are required in the following fields:
• Reference point of desynchronization position
• Leading axis position
Desynchronize immediately
Camming is disabled immediately.
At following axis value
Camming is disabled at a programmed slave axis position.
Entries are required in the following fields:
• Reference point of desynchronization position
• Following axis position
At end of cam cycle
Camming is disabled if the slave value reaches the end of the cam or the cam cycle.
An entry is required in the following field:
• Reference point of desynchronization position
Last programmed start of desynchronization
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.cammingSettings.syncOffMode
Field/Button Meaning/Instruction
Reference point of An entry is required in this field if you have selected the following in the
desynchronization position Desynchronization position field:
• At leading axis value
• At following axis value
• At end of cam cycle
Here, you select how the programmed position (see the Following axis position or
Leading axis field) acts relative to the selected desynchronization profile.
Stop before desynchronization position
Synchronization is finished at the programmed position.
Symmetrical
This choice is available only for leading axis synchronization reference.
Desynchronization occurs in such a way that the programmed position is located
symmetrically within the desynchronization length. At the programmed position, the
master axis has covered half the distance that is required for synchronization.
Stop from desynchronization position
Desynchronization starts at the programmed position.
Last programmed reference point of leading axis position
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value:
userdefault.syncProfile.syncOffPositionReference
Desynchronization length An entry is required in this field if you have selected the following in the
Synchronization reference field:
• Leading axis
Enter the synchronization length in the editable selection list.
Last programmed desynchronization length
Preassigned value
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncProfile.syncOffLength
Following axis position An entry is required in this field if you have selected the following in the
Desynchronization position field:
• At following axis value
Here, you enter the slave axis position in the editable selection list.
Default
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncOffPositions.Slave
Field/Button Meaning/Instruction
Leading axis position An entry is required in this field if you have selected the following in the
Desynchronization position field:
• At leading axis value
Here, you enter the master axis position in the editable selection list.
Default
See Selection list (combo box) (Page 65)
System variable for preassigned value: userdefault.syncOffPositions.Master
Synchronization direction Here, you select the motion direction in which the following axis is to be
desynchronized.
Retain system behavior
Synchronization occurs over the shortest path without direction specification. In the
case of moving axes, a check is made to determine whether the current motion
direction can be maintained.
Maintain direction of following axis
Synchronization takes place in the direction of motion of the following axis.
Positive
Synchronization occurs in the positive motion direction.
Negative
Synchronization occurs in the negative motion direction.
Shortest path
Synchronization occurs over the shortest path without direction specification.
Preassigned value (default value)
See Selection list (combo box) (Page 65)
System variable for preassigned value:
userdefault.cammingSettings.synchronizingDirection
Table 5- 237 Overview of parameters for Cam off – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
The parameters in the Dynamic response tab are evaluated only for time
synchronization reference.
Velocity The entered value acts during the constant velocity phase.
System variables for preassigned value: userDefault.syncDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
System variables for preassigned value: userDefault.syncDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefault.syncDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variables for preassigned value: userDefault.syncDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value:
userDefault.syncDynamics.negativeAccelStartJerk
userDefault.syncDynamics.negativeAccelEndJerk
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command
status with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable
to find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 239 Parameters (MCC Cam off command compared to _disableCamming system functions)
This command causes scaling of the master axis or following axis range of the associated
cam during camming. You can use parameters to specify things such as:
● Timing for when scaling becomes effective (immediately/next cam cycle)
● Effectiveness on the active camming command and/or subsequent camming commands
Scaling operations that act on the active camming command as well as scaling operations
that are stored and act on subsequent commands can be read from the cammingAdjustment
system variable.
Additional information:
● For the fundamentals of synchronous operation, see the Technology Objects
Synchronous Operation, Cam Function Manual
● For information on scaling and offset for a cam, see the Technology Objects
Synchronous Operation, Cam Function Manual
Field/Button Explanation/Instruction
Axis Here, you select the axis for which the cam is to be scaled. The following are available:
• All synchronous axes that are defined on the relevant device. The axes are defined in
the AXES folder in the project navigator.
The synchronous objects associated with the selected synchronous axis are
automatically identified and displayed in the Synchronous operation field for selection,
as appropriate.
• <Reference>
You select this entry if the axis to be synchronized is not defined on the device but
rather is specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type
followingObjectType (references to synchronous objects) are available for selection in
the Synchronous operation field (see also Technology object data types (Page 101)).
Notice
You cannot select any references to a synchronous axis (variable of followingAxis data
type). There is no assignment for the reference to the associated synchronous objects.
Instead, select the reference to the synchronous object directly (variable of data type
followingObjectType)
Synchronous operation Here, the permissible synchronous objects are displayed according to the selected Axis
and are available for selection, as appropriate:
• A synchronous axis defined on the device has been selected as an axis:
The synchronous object associated with the selected following axis is displayed
If more than one synchronous object is available (e.g., superimposed synchronous
object), you can select the synchronous object.
• <Reference> has been selected as the axis:
All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)) are available for selection:
followingObjectType.
These variables are references to synchronous objects.
Parameter tab See Overview of parameters for Set scaling on camming – Parameters tab (Page 478)
Dynamics tab See Overview of parameters for Set scaling on camming – Dynamics tab (Page 479)
Expert tab See Overview of parameters for Set scaling on camming – Expert tab (Page 479)
Field/Button Explanation/Instruction
Effect Here you select the commands on which scaling is active.
On active command (default value)
Scaling acts on the active camming command and remains active until this command is
replaced or desynchronized using the Cam off command.
The scaling factor is stored (depending on the cam range) in system variable
cammingAdjustment.master.scale or cammingAdjustment.slave.scale.
on following commands
The active camming command is executed; the scaling is stored and used for the
following Cam on commands.
The scaling factor is stored (depending on the cam range) in system variable
cammingAdjustment.defaultValueMaster.scale or
cammingAdjustment.defaultValueSlave.scale.
On active command and following commands
The scaling acts on the current camming command and on all following Cam on
commands.
The scaling factor is stored (depending on the cam range) in system variables
cammingAdjustment.master.scale and cammingAdjustment.defaultValueMaster.scale, or
cammingAdjustment.slave.scale and cammingAdjustment.defaultValueSlave.scale.
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
Table 5- 241 Overview of parameters for Set scaling on camming – Parameters tab
Field/Button Explanation/Instruction
Area Here, you select whether the leading axis or following axis range of the cam is to be
scaled.
Master range (default value)
The leading axis range of the cam is scaled.
slave range
The following axis range of the cam is scaled.
Offset Scaling factor for the selected range.
Enter the value as a signed floating-point number.
See also input field (Page 65).
Time Here, you select when the scaling takes effect.
Immediately (default value)
The scaling of the selected range goes into effect immediately.
At next cycle
The scaling of the selected range goes into effect at the next cam cycle (only for cyclic
cam).
5.7.8.3 Overview of parameters for Set scaling on camming – Dynamic response tab
Table 5- 242 Overview of parameters for Set scaling on camming – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
Velocity The entered value acts during the constant velocity phase.
System variables for preassigned value: userDefault.syncDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
System variables for preassigned value: userDefault.syncDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefault.syncDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variables for preassigned value: userDefault.syncDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value:
userDefault.syncDynamics.positiveAccelStartJerk
userDefault.syncDynamics.positiveAccelEndJerk
userDefault.syncDynamics.negativeAccelStartJerk
userDefault.syncDynamics.negativeAccelEndJerk
Table 5- 243 Overview of parameters for Set scaling on camming – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 244 Parameters (MCC Set scaling on camming command compared to _setCammingScale system function)
This command causes an offset of the master axis or following axis range of the associated
cam during camming. You can use parameters to specify things such as:
● Timing for when the offset takes effect (immediately/next cam cycle)
● Effectiveness on the active camming command and/or subsequent camming commands
Offsets that act on the active camming command and offsets that are stored and act on
subsequent camming commands can be read from the cammingAdjustment system variable.
Additional information:
● For the fundamentals of synchronous operation, see the Technology Objects
Synchronous Operation, Cam Function Manual
● For information on scaling and offset for a cam, see the Technology Objects
Synchronous Operation, Cam Function Manual
Field/Button Explanation/Instruction
Axis Here, you select the axis for which the cam is to be offset. The following are available:
• All synchronous axes that are defined on the relevant device. The axes are defined in
the AXES folder in the project navigator.
The synchronous objects associated with the selected synchronous axis are
automatically identified and displayed in the Synchronous operation field for selection,
as appropriate.
• <Reference>
You select this entry if the axis to be synchronized is not defined on the device but
rather is specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type
followingObjectType (references to synchronous objects) are available for selection in
the Synchronous operation field (see also Technology object data types (Page 101)).
Notice
You cannot select any references to a synchronous axis (variable of followingAxis data
type). There is no assignment for the reference to the associated synchronous objects.
Instead, select the reference to the synchronous object directly (variable of data type
followingObjectType)
Synchronous operation Here, the permissible synchronous objects are displayed according to the selected Axis
and are available for selection, as appropriate:
• A synchronous axis defined on the device has been selected as an axis:
The synchronous object associated with the selected following axis is displayed
If more than one synchronous object is available (e.g., superimposed synchronous
object), you can select the synchronous object.
• <Reference> has been selected as the axis:
All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)) are available for selection:
followingObjectType.
These variables are references to synchronous objects.
Parameter tab See Overview of parameters for Set offset on camming – Parameters tab (Page 484)
Dynamics tab See Overview of parameters for Set offset on camming – Dynamics tab (Page 485)
Expert tab See Overview of parameters for Set offset on camming – Expert tab (Page 485)
Field/Button Explanation/Instruction
Effect Here, you select which commands the offset will act on.
On active command (default value)
The offset acts on the active camming command and remains active until this command
is replaced or desynchronized using the Cam off command.
The offset value is stored in system variable cammingAdjustment.master.offset or
cammingAdjustment.slave.offset (depending on the range of the cam).
on following commands
The active camming command is executed; the offset is stored and used for the following
Cam on commands.
The offset value is stored (depending on the cam range) in system variable
cammingAdjustment.defaultValueMaster.offset or
cammingAdjustment.defaultValueSlave.offset.
On active command and following commands
The offset acts on the current camming command and on all following Cam on
commands.
The offset value is stored in system variables cammingAdjustment.master.offset and
cammingAdjustment.defaultValueMaster.offset or cammingAdjustment.slave.offset and
cammingAdjustment.defaultValueSlave.offset (depending on the range of the cam).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83)
Table 5- 246 Overview of parameters for Set offset on camming – Parameters tab
Field/Button Explanation/Instruction
Area Here, you select whether the leading axis or following axis range of the cam will be offset.
Master range (default value)
The leading axis range of the cam is offset.
Slave range
The following axis range of the cam is offset.
Offset Offset for the selected range.
Enter the value as a signed floating-point number.
See also input field (Page 65).
Mode Select the type of offset.
Absolute(default value)
The offset is applied as an absolute value.
Relative
The offset is relative to the corresponding value in the cammingAdjustments system
variable.
Time Here, you select when the offset takes effect
Immediately (default value)
The offset of the selected range goes into effect immediately.
At next cycle
The offset of the selected range goes into effect at the next cam cycle (for cyclic cam
only).
5.7.9.3 Overview of parameters for Set offset on camming – Dynamic response tab
Table 5- 247 Overview of parameters for Set offset on camming – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Overview of parameters in the Dynamics tab
(Page 75).
Velocity The entered value acts during the constant velocity phase.
System variables for preassigned value: userDefault.syncDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
System variables for preassigned value: userDefault.syncDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefault.syncDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variables for preassigned value: userDefault.syncDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value:
userDefault.syncDynamics.positiveAccelStartJerk
userDefault.syncDynamics.positiveAccelEndJerk
userDefault.syncDynamics.negativeAccelStartJerk
userDefault.syncDynamics.negativeAccelEndJerk
Table 5- 248 Overview of parameters for Set offset on camming – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you can track the command status
with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 249 Parameters (MCC Set offset on camming command compared to _setCammingOffset system function)
Figure 5-100 Parameter screen form: Parameterize cam for the Offset tab
Figure 5-101 Parameter screen form: Parameterize cam for the Basic scaling tab
Figure 5-102 Parameter screen form: Parameterize cam for the Range scaling tab
Additional information:
● For cam fundamentals, see the Technology Objects Synchronous Operation, Cam
Function Manual
● For information on scaling and offset for a cam, see the Technology Objects
Synchronous Operation, Cam Function Manual
Field/Button Explanation/instructions
Cam Here, you select the cam to be offset or scaled. The following are available:
• All cams that are defined on the relevant device. The cams are defined in the CAMS
folder in the project navigator.
• All technology object-type variables declared in the MCC source file or MCC chart (see
Technology object data types (Page 101)): camType.
Offset tab See Overview of parameters for Parameterize cam – Offset tab (Page 489)
Basic scaling tab See Overview of parameters for Parameterize cam – Basic scaling tab (Page 490)
Range scaling tab See Overview of parameters for Parameterize cam – Range scaling tab (Page 490)
Expert tab See Overview of parameters for Parameterize cam – Expert tab (Page 491)
Field/Button Explanation/Instruction
Following axis offset Select this check box if you want to program an offset for the following axis.
Enter the offset for the following axis here.
See also input field (Page 65).
Leading axis offset Select this check box if you want to program an offset for the master axis.
Enter the master axis offset in this box.
See also input field (Page 65).
Calculation Here, you select whether the newly programmed offset is applied absolutely or is added to
the previously active offset.
Absolute(default value)
The programmed value is applied absolutely.
Relative
The programmed value is applied relatively.
Table 5- 252 Overview of parameters for Parameterize cam – Basic scaling tab
Field/Button Explanation/Instruction
Following axis scaling factor Select this check box if you wish to program a scaling factor for the complete slave axis
range.
Here, you enter a scaling factor that is valid for the slave axis, independent of the range.
Using the range scaling, you can also activate scaling factors for individual ranges. These
are superimposed over the complete scaling.
See also input field (Page 65).
Leading axis scaling factor Select this check box if you want to program a scaling factor for the complete range of the
master axis.
Here, you enter a scaling factor that is valid for the master axis, independent of the range.
Using the range scaling, you can also activate scaling factors for individual ranges. These
are superimposed over the complete scaling.
See also input field (Page 65).
Table 5- 253 Overview of parameters for Parameterize cam – Range scaling tab
Field/Button Explanation/Instruction
Number of cam range Here, you select the number of the scaling range (1 or 2). If you select the same number for
a subsequent command, you can overwrite the previously programmed values.
Following axis Select this check box in order to program a scaling factor in a specific range of the following
axis.
Start of range (following Here, you enter the following axis position at which scaling starts.
axis) See also input field (Page 65).
End of range (following Here, you enter the following axis position at which scaling ends.
axis) See also input field (Page 65).
Scaling factor (following Here, you enter the scaling factor for the following axis. This is effective within the specified
axis) range.
See also input field (Page 65).
Leading axis Select this check box to program a scaling factor in a specific range of the master axis.
Start of range (leading axis) Here, you enter the position of the master axis at which scaling begins.
See also input field (Page 65).
End of range (leading axis) Here, you enter the position of the master axis at which scaling ends.
See also input field (Page 65).
Scaling factor (leading axis) Here, you enter the scaling factor for the master axis. This is effective within the specified
range.
See also input field (Page 65).
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type for each command step, you
can use this variable to find out the result of the command step.
Data type DINT; for a description, see Return value for system functions of the technology
packages (Page 86).
Table 5- 255 Parameters (MCC Parameterize cam command compared to _setCamOffset and _setCamScale system
functions)
This command switches over the master value for an existing synchronous operation
relationship. Switchover is possible when synchronous operation is active.
Additional information:
● For general information on switching over the master value source, see the Technology
Objects Synchronous Operation, Cam Function Manual
● For the fundamentals of synchronous operation, see the Technology Objects
Synchronous Operation, Cam Function Manual
Field/Button Explanation/Instruction
Following axis Here, you select the axis for which the master setpoint is to be switched. The following
are available:
• All synchronous axes that are defined on the relevant device. The axes are defined in
the AXES folder in the project navigator.
The synchronous objects associated with the selected synchronous axis are
automatically identified and displayed in the Synchronous operation field for selection,
as appropriate.
• <Reference>
You select this entry if the axis to be synchronized is not defined on the device but
rather is specified as a reference (variable).
All variables declared in the MCC unit or MCC chart with data type
followingObjectType (references to synchronous objects) are available for selection in
the Synchronous operation field (see also Technology object data types (Page 101)).
Notice
You cannot select any references to a synchronous axis (variable of followingAxis data
type). There is no assignment for the reference to the associated synchronous objects.
Instead, select the reference to the synchronous object directly (variable of data type
followingObjectType)
Synchronous operation Here, the permissible synchronous (following) objects are displayed according to the
selected following axis, where they are available for selection, as appropriate:
• A synchronous axis defined on the device has been selected as a following axis:
The synchronous object associated with the selected following axis is displayed
If more than one synchronous object is available (e.g., superimposed synchronous
object), you can select the synchronous object.
• <Reference> has been selected as a following axis:
All technology object-type variables declared in the MCC unit or MCC chart (see
Technology object data types (Page 101)) are available for selection:
followingObjectType.
These variables are references to synchronous objects.
Parameter tab See Overview of parameters for Switch master setpoint – Parameters tab (Page 494)
Dynamics tab See Overview of parameters for Switch master setpoint – Dynamics tab (Page 494)
Expert tab See Overview of parameters for Switch master setpoint – Expert tab (Page 495)
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
Table 5- 257 Overview of parameters for Switch master setpoint – Parameters tab
Field/Button Explanation/instructions
Master value Here, you select the axis or external encoder that generates the master setpoint in the
synchronous relationship. You can select from:
• All positioning, synchronous (following), and path axes and external encoders that are
available on the device or a DP master.
• All technology object-type variables declared in the MCC source file or MCC chart
(see Technology object data types (Page 101)): posAxis, followingAxis, pathAxis or
externalEncoderType.
The master setpoint remains assigned to the synchronous object until a change occurs.
Transition behavior Here, you choose how the switchover to the selected master setpoint is to occur.
direct
Selected master setpoint is active immediately
with next synchronization
Selected master setpoint is active the next time the following axis is synchronized.
With programmed dynamic response values
The transition to the selected master setpoint takes place with the values set in the
Dynamics tab (see Overview of parameters for Switch master setpoint – Dynamics tab
(Page 494)).
5.7.11.3 Overview of parameters for Switch master setpoint – Dynamic response tab
Table 5- 258 Overview of parameters for Switch master setpoint – Dynamic response tab
Field/Button Explanation/instructions
The Dynamics tab is described in detail in Dynamics tab (Page 75).
The parameters in the Dynamic response tab are evaluated only for transition behavior
with programmed dynamic response values.
Velocity The entered value acts during the constant velocity phase.
System variables for preassigned value: userDefault.syncDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
System variables for preassigned value: userDefault.syncDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
System variable for preassigned value: userDefault.syncDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
System variables for preassigned value: userDefault.syncDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value:
userDefault.syncDynamics.positiveAccelStartJerk
userDefault.syncDynamics.positiveAccelEndJerk
userDefault.syncDynamics.negativeAccelStartJerk
userDefault.syncDynamics.negativeAccelEndJerk
Table 5- 259 Overview of parameters for Switch master setpoint – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Expert tab (Page 79).
CommandID variable If you enter the name of a CommandId-type variable, you
can track the command status with this variable.
Return variable If you enter the name of a variable of the specified data
type, you can use this variable to find out the result of the
command call.
Data type DINT; for a description, see Return value for
system functions of the technology packages (Page 86).
Table 5- 260 Parameters (MCC Switch master setpoint command compared to _setMaster system function)
For the fundamentals of path interpolation, see the TO Path Interpolation Function Manual
For additional information on linear paths, see the TO Path Interpolation Function Manual.
Field/Button Explanation/instructions
Path object In Path object, select the path object whose assigned path axes are to be traversed to the
end point. The list contains:
• All path objects that are defined on the relevant device. The path objects are defined
in the PATH OBJECTS folder in the project navigator.
• All variables with the following data type of a technology object declared in the MCC
source file or MCC chart (see Technology object data types (Page 101)):
_pathObjectType.
Parameters tab See Overview of parameters for Traverse path linearly - Parameters tab (Page 499)
Dynamic response tab See Overview of parameters for Traverse path linearly - Dynamic response tab
(Page 501)
Synchronous axis tab See Overview of parameters for Traverse path linearly - Path-synchronous motion tab
(Page 503)
Expert tab See Overview of parameters for Traverse path linearly - Expert tab (Page 504)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the path object or on the axes involved. The selected
behavior determines the position of the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
Table 5- 262 Overview of parameters for Traverse path linearly – Parameters tab
Field/Button Explanation/instructions
Path plane Here, you select whether the motion is to be carried out in three dimensions (3D) or two
dimensions (2D).
X-Y-Z
Three-dimensional motion
X-Y main plane
Y-Z main plane
Z-X main plane
Two-dimensional motion in the selected main plane of the basic (Cartesian) coordinate
system. The target coordinate located outside the selected plane is ignored.
Preassigned value (default value)
See Selection list (combo box) (Page 65).
System variable for preassigned value: userDefault.path.plane
Mode The meaning of the subsequently programmed target coordinates is defined in more
detail here.
Absolute
The programmed target coordinates refer to the zero point of the basic coordinate
system.
Relative
The programmed target coordinates refer to the path position within the basic coordinate
system when the path command is executed (point in time of change).
Preassigned value (default value)
See Selection list (combo box) (Page 65).
System variable for preassigned value: userDefault.path.mode
Field/Button Explanation/instructions
Target coordinates The end point of the motion is specified here. The meaning depends on the Mode
X, Y, Z parameter (see above):
• Absolute mode: Absolute coordinates with respect to the zero point of the basic
coordinate system.
• Relative mode: Relative coordinates with respect to the path position within the basic
coordinate system when the path command is executed (point in time of change).
Enter the values as signed floating-point numbers.
See Input field (Page 65)
Blending This parameter is evaluated only for:
• Attach transition behavior or
• Attach transition behavior and discard pending command.
With blending, the path segment programmed with this command can be linked to the
previous path segment to form one complete path with no stop. At the transition, the
system provides for a constant path velocity and a constant path acceleration.
Active with dynamic response adaptation
The dynamic response limit values of the individual path axes are also applied in the
blending area. For this reason, the path velocity is nearly reduced to zero at transitions of
path segments during which the pitches or curvatures are not applied smoothly.
Active without dynamic response adaptation
In the blending area, path interpolation takes into account only the scalar dynamic
response limit values of the path (path velocity, path acceleration and jerk). The dynamic
response limit values specific to the axes are first taken into account during movement of
the individual path axes. For this reason, deviations from the path, specific to the axes,
can occur at transitions of path segments during which the pitches or curvatures are not
applied smoothly.
Inactive
The motion programmed with this command does not begin until the setpoint interpolation
of the previous command is complete and its motion has reached the target coordinates.
The path velocity and path acceleration are therefore zero at the transition.
Preassigned value (default value)
See Selection list (combo box) (Page 65).
System variable for preassigned value: userDefault.blending.mode
5.8.1.3 Overview of parameters for Traverse path linearly – Dynamic response tab
Table 5- 263 Overview of parameters for Traverse path linearly – Dynamic response tab
Field/Button Meaning/Instruction
Here, you specify the dynamic response of the path motion.
In standard cases, you define the dynamic response by means of a velocity profile with
the associated values for the velocity, acceleration, deceleration and jerk. A detailed
description of these parameters is provided in Overview of parameters – Dynamics tab
(Page 75).
Optionally, you can select a special velocity profile that is described by a cam.
Velocity The entered value acts during the constant velocity phase.
This parameter is evaluated only when Special velocity profile = No.
System variable for preassigned value: userDefault.pathDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
The parameter is evaluated only in the following cases:
• When Special velocity profile = No
• When Special velocity profile = Yes and when accelerating to the velocity specified in
the special velocity profile.
System variable for preassigned value: userDefault.pathDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
The parameter is evaluated only in the following cases:
• When Special velocity profile = No
• When Special velocity profile = Yes and when accelerating to the velocity specified in
the special velocity profile.
System variable for preassigned value: userDefault.pathDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
The parameter is evaluated only in the following cases:
• When Special velocity profile = No
• If Special velocity profile = Yes and when accelerating to the velocity specified in the
special velocity profile.
System variable for preassigned value: userDefault.pathDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
The parameters are evaluated only in the following cases:
• When Special velocity profile = No
• If Special velocity profile = Yes and when accelerating to the velocity specified in the
special velocity profile.
System variables for preassigned value:
userDefault.pathDynamics.positiveAccelStartJerk
userDefault.pathDynamics.positiveAccelEndJerk
userDefault.pathDynamics.negativeAccelStartJerk
userDefault.pathDynamics.negativeAccelEndJerk
Field/Button Meaning/Instruction
Dynamic response adaptation Here, you select whether the dynamic response limit values are to be taken into account
during path interpolation.
Inactive
The dynamic response limit values of the individual path axes are not taken into account
during path interpolation. However, they remain active, and an error is triggered if they
are exceeded. This setting should only be selected if it is ensured by other means (e.g.,
an appropriate specific velocity profile) that the limit values will not be exceeded.
Maximum axial dynamic response values without segmentation
The dynamic response limit value of the individual path axes for velocity and acceleration
are taken into account during path interpolation. If a position axis is configured for the
path-synchronous motion, its dynamic response limit values are also included. Path
velocity and path acceleration are adapted for the entire path motion if necessary.
Maximum axial dynamic response values with segmentation
The dynamic response limit value of the individual path axes for velocity and acceleration
are taken into account during path interpolation. If a position axis is configured for the
path-synchronous motion, its dynamic response limit values are also included. The path
motion is divided up into individual segments, as determined by the system, if necessary.
Within each segment, the path velocity and the path acceleration are adapted to the
maximum axial dynamic response limits.
Default
See selection list (combo box) (Page 65).
System variable for default value: userDefault.path.dynamicAdaption
Specific velocity profile Here, you select whether the path dynamic response is specified with the velocity profile
defined above or with a velocity profile that is defined by a cam.
No (default value)
The path dynamic response is specified with the velocity profile defined above with the
parameters: velocity profile, velocity, acceleration, deceleration, and jerk.
Yes
The path dynamic response is specified with a velocity profile that is defined by a cam.
Cam This field is only visible when Special velocity profile = Yes.
Here, you select the cam which defines the velocity profile. The following are available:
• All cams that are defined on the relevant device. The cams are defined in the CAMS
folder in the project navigator.
• All variables with the following technology object data type declared in the MCC unit
or MCC chart (see Technology object data types (Page 101)): camType.
The Profile position at start of path and Profile position at end of path parameters are
used to select an area within the definition range of the cam (x axis) that is mapped by
scaling to the length of the programmed path. The value range (y axis) is interpreted as
the velocity in the unit configured on the path object.
Profile position at start of path These two values determine the area within the definition range of the cam (x axis) that is
Profile position at end of path mapped by scaling to the length of the programmed path.
Enter the values as signed floating-point numbers.
See the input field (Page 65).
5.8.1.4 Overview of parameters for Traverse path linearly – Path-synchronous motion tab
Table 5- 264 Overview of parameters for Traverse path linearly – Path-synchronous motion tab
Field/Button Explanation/instructions
Here, you specify values for the motion of the additional positioning axis that is assigned
to the path object and is traversed synchronously with the path motion.
Mode of path-synchronous Here, you specify how the axis for path-synchronous motion should be traversed with the
motion path motion:
Absolute
The programmed Position of path-synchronous motion is the end point of the path-
synchronous motion.
Relative
The programmed Position of path-synchronous motion is the traversing distance of the
path-synchronous motion.
Output path length
The path length (i.e. the distance covered by the path motion) is outputted linearly,
beginning from zero, as the path-synchronous motion.
Output path length added
The path length (i.e. the distance covered by the path motion) added to the existing value
at the beginning of the path motion is outputted as the path-synchronous motion.
Preassignment
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.w.mode
Field/Button Explanation/instructions
Direction of synchronous path Select the direction of the path-synchronous motion. The direction must be specified in
motion the following cases:
• The Mode of path-synchronous motion is relative
• The axis for the path-synchronous motion is a modulo axis.
Positive
The direction of motion is the positive direction of the axis. With relative motion, the sign
of the position is ignored.
Negative
The direction of motion is the negative direction of the axis. With relative motion, the sign
of the position is ignored.
From position
The direction of motion is determined by the sign of the Position of path-synchronous
motion.
Shortest path
• With relative Mode of path-synchronous motion: The direction of motion is determined
by the sign of the Position of path-synchronous motion.
• For modulo axes: The direction of motion is the direction in which the programmed
target position can be reached via the shortest path.
Preassignment
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.w.direction
Position of path-synchronous This parameter is evaluated only for the following settings for Mode of path-synchronous
motion motion and has different meanings:
• Absolute: End point of the path-synchronous motion.
• Relative: Traversing distance of the path-synchronous motion.
Enter the values as signed floating-point numbers.
See Input field (Page 65)
Table 5- 265 Overview of parameters for Traverse path linearly – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Overview of parameters for Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT, for a description, see Return value for the system functions of the
technology packages (Page 86).
Table 5- 266 Parameters (MCC Traverse path linearly command compared to _movePathLinear system function)
For the fundamentals of path interpolation, see the TO Path Interpolation Function Manual
For additional information on circular paths, see the TO Path Interpolation Function Manual.
Field/Button Explanation/instructions
Path object In Path object, select the path object whose assigned path axes are to be traversed to the
end point. The list contains:
• All path objects that are defined on the relevant device. The path objects are defined
in the PATH OBJECTS folder in the project navigator.
• All variables with the following data type of a technology object declared in the MCC
source file or MCC chart (see Technology object data types (Page 101)):
_pathObjectType.
Parameters tab See Overview of parameters for Traverse path circularly - Parameters tab (Page 508)
Dynamic response tab See Overview of parameters for Traverse path circularly - Dynamic response tab
(Page 511)
Synchronous axis tab See Overview of parameters for Traverse path circularly - Path-synchronous motion tab
(Page 513)
Expert tab See Overview of parameters for Traverse path circularly - Expert tab (Page 514)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the path object or on the axes involved. The selected
behavior determines the position of the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
Table 5- 268 Overview of parameters for Traverse path circularly – Parameters tab
Field/Button Meaning/Instruction
Path plane Here, you select whether the motion is to be carried out in three dimensions (3D) or two
dimensions (2D).
X-Y-Z
Three-dimensional motion
X-Y main plane
Y-Z main plane
Z-X main plane
Two-dimensional motion in the selected main plane of the basic (Cartesian) coordinate
system. The target coordinate located outside the selected plane is ignored.
Preassigned value (default value)
See selection list (combo box) (Page 65).
System variable for preassigned value: userDefault.path.plane
Mode This parameter is evaluated only for:
• Circle specified using radius, end point, and orientation
• Circle specified using intermediate and end point
The meaning of the subsequently programmed target coordinates is defined in more
detail here.
Absolute
The programmed target coordinates refer to the zero point of the basic coordinate
system.
Relative
The programmed target coordinates refer to the path position within the basic coordinate
system when the path command is executed (point in time of change).
Preassigned value (default value)
See selection list (combo box) (Page 65).
System variable for preassigned value: userDefault.path.mode
Target coordinates These parameters are evaluated only for:
X, Y, Z • Circle specified using radius, end point, and orientation
• Circle specified using intermediate and end point
The end point of the motion is specified here. The meaning depends on the Mode
parameter (see above):
• Absolute mode: Absolute coordinates with respect to the zero point of the basic
coordinate system.
• Relative mode: Relative coordinates with respect to the path position within the basic
coordinate system when the path command is executed (point in time of change).
Enter the values as signed floating-point numbers.
See the input field (Page 65).
Field/Button Meaning/Instruction
Blending This parameter is evaluated only for:
• Attach transition behavior or
• Attach transition behavior and discard pending command.
With blending, the path segment programmed with this command can be linked to the
previous path segment to form one complete path with no stop. At the transition, the
system provides for a constant path velocity and a constant path acceleration.
Active with dynamic response adaptation
The dynamic response limit values of the individual path axes are also applied in the
blending area. For this reason, the path velocity is nearly reduced to zero at transitions of
path segments during which the pitches or curvatures are not applied smoothly.
Active without dynamic response adaptation
In the blending area, path interpolation takes into account only the scalar dynamic
response limit values of the path (path velocity, path acceleration and jerk). The dynamic
response limit values specific to the axes are first taken into account during movement of
the individual path axes. For this reason, deviations from the path, specific to the axes,
can occur at transitions of path segments during which the pitches or curvatures are not
applied smoothly.
Inactive
The motion programmed with this command does not begin until the setpoint interpolation
of the previous command is complete and its motion has reached the target coordinates.
The path velocity and path acceleration are therefore zero at the transition.
Preassigned value (default value)
See selection list (combo box) (Page 65).
System variable for preassigned value: userDefault.blending.mode
Circle specified via Here, you select the characteristic values specifying the arc to be traversed.
Radius, end point, and orientation
Only 2D interpolation is possible in the main plane of the coordinate system selected in
the Path plane parameter. The end point specified with the target coordinates is
approached on an arc starting from the current position. You define the arc with its radius
and circular orientation. Note that for the circular orientation, in addition to the direction of
rotation, you must specify whether traversing is to be performed along the large or small
arc.
Center and angle
Only 2D interpolation is possible in the main plane of the coordinate system selected in
the Path plane parameter. Starting from the current position, an arc is traversed. You
define this arc by its center coordinates, the angle, and the circular orientation.
Intermediate and end point
2D and 3D interpolation is possible. The end point specified with the target coordinates is
approached on an arc starting from the current position. You define the arc using an
intermediate point that you specify with its intermediate point coordinates. With 3D
interpolation, you define the path plane through the current position at the beginning of
the path, the intermediate point and the end point.
Preassigned value (default value)
See selection list (combo box) (Page 65).
System variable for preassigned value: userDefault.path.circularType
Field/Button Meaning/Instruction
Circular orientation This parameter is evaluated only for:
• Circle specified using radius, end point, and orientation
• Circle specified using center and angle
Here, you enter the orientation of the arc.
Positive(default value)
Positive direction of rotation in the selected main plane. For a circle specified using
radius, end point, and orientation, the angle traveled is less than or equal to 180 °.
Negative
Negative direction of rotation in the selected main plane. For a circle specified using
radius, end point, and orientation, the angle traveled is less than or equal to 180 °.
Positive on large arc
Positive direction of rotation in the selected main plane. For a circle specified using
radius, end point, and orientation, the angle traveled is greater than or equal to 180 °.
Negative on large arc
Negative direction of rotation in the selected main plane. For a circle specified using
radius, end point, and orientation, the angle traveled is greater than or equal to 180 °.
Intermediate point mode This parameter is evaluated only for:
• Circle specified using center and angle
• Circle specified using intermediate and end point
The meaning of the subsequently programmed center and intermediate point coordinates
is defined in more detail here.
Absolute
The programmed center and intermediate point coordinates refer to the zero point of the
basic coordinate system.
Relative
The programmed center and intermediate coordinates refer to the path position within the
basic coordinate system when the path command is executed (point in time of change).
As end point coordinate
The setting from the Mode parameter is taken for the programmed center and
intermediate point coordinates.
Preassigned value (default value)
See selection list (combo box) (Page 65).
System variable for preassigned value: userDefault.path.ijkMode
Center coordinates These parameters are evaluated only for:
Center point coordinates I, J, K • Circle specified using center and angle
• Circle specified using intermediate and end point
Here, you specify the center of the arc and the intermediate point of the circular motion.
The meaning depends on the Intermediate point mode parameter (see above):
• Intermediate point absolute mode: Absolute coordinates with respect to the zero point
of the basic coordinate system.
• Intermediate point relative mode: Relative coordinates with respect to the path
position within the basic coordinate system when the path command is executed
(point in time of change).
Enter the values as signed floating-point numbers.
See selection list (combo box) (Page 65).
Field/Button Meaning/Instruction
Angle The parameter is evaluated only for circle specification with center point and angle:
Here, you specify the angle of rotation of arc I
Enter the value as a signed floating-point number.
See the input field (Page 65).
Radius The parameter is evaluated only for circle specification with radius, end point, and
orientation:
Here, you specify the radius of the arc.
Enter the value as a signed floating-point number.
See the input field (Page 65).
5.8.2.3 Overview of parameters for Traverse path circularly – Dynamic response tab
Table 5- 269 Overview of parameters for Traverse path circularly – Dynamic response tab
Field/Button Meaning/Instruction
Here, you specify the dynamic response of the path motion.
In standard cases, you define the dynamic response by means of a velocity profile with
the associated values for the velocity. Acceleration, deceleration, and jerk. A detailed
description of these parameters is provided in Overview of parameters – Dynamics tab
(Page 75).
Optionally, you can select a special velocity profile that is described by a cam.
Velocity The entered value acts during the constant velocity phase.
This parameter is evaluated only when Special velocity profile = No.
System variable for preassigned value: userDefault.pathDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
The parameter is evaluated only in the following cases:
• When Special velocity profile = No
• When Special velocity profile = Yes and when accelerating to the velocity specified in
the special velocity profile.
System variable for preassigned value: userDefault.pathDynamics.profile
Acceleration The entered value acts during the constant acceleration phase.
The parameter is evaluated only in the following cases:
• When Special velocity profile = No
• When Special velocity profile = Yes and when accelerating to the velocity specified in
the special velocity profile.
System variable for preassigned value: userDefault.pathDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
The parameter is evaluated only in the following cases:
• When Special velocity profile = No
• When Special velocity profile = Yes and when accelerating to the velocity specified in
the special velocity profile.
System variable for preassigned value: userDefault.pathDynamics.negativeAccel
Field/Button Meaning/Instruction
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
The parameters are evaluated only in the following cases:
• When Special velocity profile = No
• When Special velocity profile = Yes and when accelerating to the velocity specified in
the special velocity profile.
System variables for preassigned value:
userDefault.pathDynamics.positiveAccelStartJerk
userDefault.pathDynamics.positiveAccelEndJerk
userDefault.pathDynamics.negativeAccelStartJerk
userDefault.pathDynamics.negativeAccelEndJerk
Dynamic response adaptation Here, you select whether the dynamic response limit values are to be taken into account
during path interpolation.
Inactive
The dynamic response limit values of the individual path axes are not taken into account
during path interpolation. However, they remain active, and an error is triggered if they
are exceeded. This setting should only be selected if it is ensured by other means (e.g.,
an appropriate specific velocity profile) that the limit values will not be exceeded.
Maximum axial dynamic response values without segmentation
The dynamic response limit value of the individual path axes for velocity and acceleration
are taken into account during path interpolation. If a position axis is configured for the
path-synchronous motion, its dynamic response limit values are also included. Path
velocity and path acceleration are adapted for the entire path motion if necessary.
Maximum axial dynamic response values with segmentation
The dynamic response limit value of the individual path axes for velocity and acceleration
are taken into account during path interpolation. If a position axis is configured for the
path-synchronous motion, its dynamic response limit values are also included. The path
motion is divided up into individual segments, as determined by the system, if necessary.
Within each segment, the path velocity and the path acceleration are adapted to the
maximum axial dynamic limits.
Default
See selection list (combo box) (Page 65).
System variable for default value: userDefault.path.dynamicAdaption
Specific velocity profile Here, you select whether the path dynamic response is specified with the velocity profile
defined above or with a velocity profile that is defined by a cam.
No (default value)
The path dynamic response is specified with the velocity profile defined above with the
parameters: velocity profile, velocity, acceleration, deceleration, and jerk.
Yes
The path dynamic response is specified with a velocity profile that is defined by a cam.
Field/Button Meaning/Instruction
Cam This field is only visible when Special velocity profile = Yes.
Here, you select the cam which defines the velocity profile. The following are available:
• All cams that are defined on the relevant device. The cams are defined in the CAMS
folder in the project navigator.
• All variables declared in the MCC unit or MCC chart with the following technology
object data type (Description of technology object data types (Page 101)): camType.
The Profile position at start of path and Profile position at end of path parameters are
used to select an area within the definition range of the cam (x axis) that is mapped by
scaling to the length of the programmed path. The value range (y axis) is interpreted as
the velocity in the unit configured on the path object.
Profile position at start of path These two values determine the area within the definition range of the cam (x axis) that is
Profile position at end of path mapped by scaling to the length of the programmed path.
Enter the values as signed floating-point numbers.
See the input field (Page 65).
5.8.2.4 Overview of parameters for Traverse path circularly – Path-synchronous motion tab
Table 5- 270 Overview of parameters for Traverse path circularly – Path-synchronous motion tab
Field/Button Explanation/instructions
Here, you define values the motion of the additional positioning axis that is assigned to
the path object and is traversed synchronously with the path motion.
Mode of path-synchronous Here, you specify how the axis for path-synchronous motion should be traversed with the
motion path motion:
Absolute
The programmed Position of path-synchronous motion is the end point of the path-
synchronous motion.
Relative
The programmed Position of path-synchronous motion is the traversing distance of the
path-synchronous motion.
Output path length
The path length (i.e. the distance covered by the path motion) is outputted linearly,
beginning from zero, as the path-synchronous motion.
Output path length added
The path length (i.e. the distance covered by the path motion) added to the existing value
at the beginning of the path motion is outputted as the path-synchronous motion.
Preassignment
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.w.mode
Field/Button Explanation/instructions
Direction of synchronous path Select the direction of the path-synchronous motion. The direction must be specified in
motion the following cases:
• The Mode of path-synchronous motion is relative
• The axis for the path-synchronous motion is a modulo axis.
Positive
The direction of motion is the positive direction of the axis. With relative motion, the sign
of the position is ignored.
Negative
The direction of motion is the negative direction of the axis. With relative motion, the sign
of the position is ignored.
From position
The direction of motion is determined by the sign of the Position of path-synchronous
motion.
Shortest path
• With relative Mode of path-synchronous motion: The direction of motion is determined
by the sign of the Position of path-synchronous motion.
• For modulo axes: The direction of motion is the direction in which the programmed
target position can be reached via the shortest path.
Preassignment
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.w.direction
Position of path-synchronous This parameter is evaluated only for the following settings for Mode of path-synchronous
motion motion and has different meanings:
• Absolute: End point of the path-synchronous motion.
• Relative: Traversing distance of the path-synchronous motion.
Enter the values as signed floating-point numbers.
See Input field (Page 65)
Table 5- 271 Overview of parameters for Traverse path circularly – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Overview of parameters for Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT, for a description, see Return value for the system functions of the
technology packages (Page 86).
Table 5- 272 Parameters (MCC Traverse path circularly command compared to _movePathCircular system function)
For the fundamentals of path interpolation, see the TO Path Interpolation Function Manual
For additional information on polynomial paths, see the TO Path Interpolation Function
Manual.
Field/Button Explanation/instructions
Path object In Path object, select the path object whose assigned path axes are to be traversed to the
end point. The list contains:
• All path objects that are defined on the relevant device. The path objects are defined
in the PATH OBJECTS folder in the project navigator.
• All variables with the following data type of a technology object declared in the MCC
source file or MCC chart (see Technology object data types (Page 101)):
_pathObjectType.
Parameters tab See Overview of parameters for Traverse path using polynomials - Parameters tab
(Page 519)
Dynamic response tab See Overview of parameters for Traverse path using polynomials - Dynamic response tab
(Page 522)
Synchronous axis tab See Overview of parameters for Traverse path using polynomials - Path-synchronous
motion tab (Page 525)
Expert tab See Overview of parameters for Traverse path using polynomials - Expert tab (Page 526)
Transition behavior Here, you program the transition behavior between the programmed command and the
command currently active on the axes involved. The selected behavior determines the
position of the command in the command queue.
See also Transition behavior from the currently active motion command (Page 82).
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
5.8.3.2 Overview of parameters for Traverse path using polynomials – Parameters tab
Table 5- 274 Overview of parameters for Traverse path using polynomials – Parameters tab
Field/Button Explanation/instructions
Path plane Here, you select whether the motion is to be carried out in three dimensions (3D) or two
dimensions (2D).
X-Y-Z
Three-dimensional motion
X-Y main plane
Y-Z main plane
Z-X main plane
Two-dimensional motion in the selected main plane of the basic (Cartesian) coordinate
system. The target coordinate located outside the selected plane is ignored.
Preassigned value (default value)
See Selection list (combo box) (Page 65).
System variable for preassigned value: userDefault.path.plane
Mode The meaning of the subsequently programmed target coordinates is defined in more
detail here.
Absolute
The programmed target coordinates refer to the zero point of the basic coordinate
system.
Relative
The programmed target coordinates refer to the path position within the basic coordinate
system when the path command is executed (point in time of change).
current axis position and specify the (straight) traversing path.
Preassigned value (default value)
See .
System variable for preassigned value: userDefault.path.mode
Target coordinates The end point of the motion is specified here. The meaning depends on the Mode
X, Y, Z parameter (see above):
• Absolute mode: Absolute coordinates with respect to the zero point of the basic
coordinate system.
• Relative mode: Relative coordinates with respect to the path position within the basic
coordinate system when the path command is executed (point in time of change).
Enter the values as signed floating-point numbers.
See
Field/Button Explanation/instructions
Blending This parameter is evaluated only for:
• Attach transition behavior or
• Attach transition behavior and discard pending command.
With blending, the path segment programmed with this command can be linked to the
previous path segment to form one complete path with no stop. At the transition, the
system provides for a constant path velocity and a constant path acceleration.
Active with dynamic response adaptation
Path interpolation takes into account the dynamic response limit values of the individual
path axes in the blending area as well. For this reason, the path velocity is nearly reduced
to zero at transitions of path segments during which the pitches or curvatures are not
applied smoothly.
Active without dynamic response adaptation
In the blending area, path interpolation takes into account only the scalar dynamic
response limit values of the path (path velocity, path acceleration and jerk). The dynamic
response limit values specific to the axes are first taken into account during movement of
the individual path axes. For this reason, deviations from the path, specific to the axes,
can occur at transitions of path segments during which the pitches or curvatures are not
applied smoothly.
Inactive
The motion programmed with this command does not begin until the setpoint interpolation
of the previous command is complete and its motion has reached the target coordinates.
The path velocity and path acceleration are therefore zero at the transition.
Preassigned value (default value)
See .
System variable for preassigned value: userDefault.blending.mode
Field/Button Explanation/instructions
Polynomial specified via Here you select how the fifth order polynomial that describes the motion path is specified.
Explicit specification of starting point data
The polynomial is calculated from geometric data. Specify explicitly:
• Starting point (current position) and end point (target coordinates)
• First geometric derivative (tangential vector) and second geometric derivative
(curvature vector) at the starting point
• First geometric derivative (tangential vector) and second geometric derivative
(curvature vector) at the end point.
System functions are available for performing a geometric analysis of paths (e.g.
determining the geometric derivatives at specified points).
Attach continuously
The polynomial is calculated from geometric data. Specify explicitly:
• Starting point (current position) and end point (target coordinates)
• First geometric derivative (tangential vector) and second geometric derivative
(curvature vector) at the end point.
The first geometric derivative (tangential vector) and the second geometric derivative
(curvature vector) at the starting point (current position) are set equal to the geometric
derivatives at the end point of the previous path command. If the geometric derivatives
cannot be determined in the start point (if no current motion is available), the command is
not executed and error message 50002 "Calculation of the geometry element not
possible, reason 3" is outputted.
System functions are available for performing a geometric analysis of paths (e.g.
determining the geometric derivatives at specified points).
Direct specification of the polynomial coefficients
Specify the polynomial coefficients explicitly through the following values:
• Starting point P(0) (current position).
• End point P(1) (target coordinates).
• Polynomial coefficients a2, a3, a4 and a5.
The polynomial coefficients a0 and a1 are calculated from this data:
• a0 = P(0)
• a1 = P(1) - P(0) - a2 - a3 - a4 -a5.
Preassigned value (default value)
See .
System variable for preassigned value: userDefault.path.polynomialMode
1. First geometric derivative at This parameter is evaluated only with polynomial specification via explicit specification of
the starting point the starting point data.
X, Y, Z Here, you specify the first geometric derivative (tangential vector) at the starting point
(current position).
Enter the values as signed floating-point numbers.
See
2. Second geometric derivative This parameter is evaluated only with polynomial specification via explicit specification of
at the starting point the starting point data.
X, Y, Z Here, you specify the second geometric derivative (curvature vector) at the starting point
(current position).
Enter the values as signed floating-point numbers.
See
Field/Button Explanation/instructions
1. First geometric derivative at This parameter is evaluated only with polynomial specification via explicit specification of
the end point the starting point data and attach continuously.
X, Y, Z Here, you specify the first geometric derivative (tangential vector) at the end point (target
coordinates).
Enter the values as signed floating-point numbers.
See
2. Second geometric derivative This parameter is evaluated only with polynomial specification via explicit specification of
at the end point the starting point data and Attach continuously.
X, Y, Z Here, you specify the second geometric derivative (curvature vector) at the end point
(target coordinates).
Enter the values as signed floating-point numbers.
See
Coefficient a2 These parameters are evaluated only with polynomial specification via direct specification
X, Y, Z of the polynomial coefficients.
Coefficient a3 Here you specify the coefficients a2, a3, a4 and a5 of the fifth order polynomial.
X, Y, Z Enter the values as signed floating-point numbers.
Coefficient a4 See
X, Y, Z
Coefficient a5
X, Y, Z
See also
Input field (Page 65)
5.8.3.3 Overview of parameters for Traverse path using polynomials – Dynamic response tab
Table 5- 275 Overview of parameters for Traverse path using polynomials – Dynamic response tab
Field/Button Explanation/Instruction
Here, you specify the dynamic response of the path motion.
In standard cases, you define the dynamic response by means of a velocity profile with
the associated values for the velocity. Acceleration, deceleration, and jerk. A detailed
description of these parameters is provided in Overview of parameters – Dynamics tab
(Page 75).
Optionally, you can select a special velocity profile that is described by a cam.
Velocity The entered value acts during the constant velocity phase.
This parameter is evaluated only when Special velocity profile = No.
System variable for preassigned value: userDefault.pathDynamics.velocity
Velocity profile In this field, you define the transitions between the individual motion phases.
The parameter is evaluated only in the following cases:
• When Special velocity profile = No
• When Special velocity profile = Yes and when accelerating to the velocity specified in
the special velocity profile.
System variable for preassigned value: userDefault.pathDynamics.profile
Field/Button Explanation/Instruction
Acceleration The entered value acts during the constant acceleration phase.
The parameter is evaluated only in the following cases:
• When Special velocity profile = No
• When Special velocity profile = Yes and when accelerating to the velocity specified in
the special velocity profile.
System variable for preassigned value: userDefault.pathDynamics.positiveAccel
Deceleration The entered value acts during the constant deceleration phase.
The parameter is evaluated only in the following cases:
• When Special velocity profile = No
• When Special velocity profile = Yes and when accelerating to the velocity specified in
the special velocity profile.
System variable for preassigned value: userDefault.pathDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
The parameters are evaluated only in the following cases:
• When Special velocity profile = No
• When Special velocity profile = Yes and when accelerating to the velocity specified in
the special velocity profile.
System variables for preassigned value:
userDefault.pathDynamics.positiveAccelStartJerk
userDefault.pathDynamics.positiveAccelEndJerk
userDefault.pathDynamics.negativeAccelStartJerk
userDefault.pathDynamics.negativeAccelEndJerk
Dynamic response adaptation Here, you select whether the dynamic response limit values are to be taken into account
during path interpolation.
Inactive
The dynamic response limit values of the individual path axes are not taken into account
during path interpolation. However, they remain active, and an error is triggered if they
are exceeded. This setting should only be selected if it is ensured by other means (e.g.,
an appropriate specific velocity profile) that the limit values will not be exceeded.
Maximum axial dynamic response values without segmentation
The dynamic response limit value of the individual path axes for velocity and acceleration
are taken into account during path interpolation. If a positioning axis is configured for the
path-synchronous motion, its dynamic response values are also included. Path velocity
and path acceleration are adapted for the entire path motion if necessary.
Maximum axial dynamic response values with segmentation
The dynamic response limit value of the individual path axes for velocity and acceleration
are taken into account during path interpolation. If a positioning axis is configured for the
path-synchronous motion, its dynamic response values are also included. The path
motion is divided up into individual segments, as determined by the system, if necessary.
Within each segment, the path velocity and the path acceleration are adapted to the
maximum axial dynamic limits.
Preassigned value
See selection list (combo box) (Page 65).
System variable for preassigned value: userDefault.path.dynamicAdaption
Field/Button Explanation/Instruction
Specific velocity profile Here, you select whether the path dynamic response is specified with the velocity profile
defined above or with a velocity profile that is defined by a cam.
No(default value)
The path dynamic response is specified with the velocity profile defined above with the
parameters: velocity profile, velocity, acceleration, deceleration, and jerk.
Yes
The path dynamic response is specified with a velocity profile that is defined by a cam.
Cam This field is only visible when Special velocity profile = Yes.
Here, you select the cam which defines the velocity profile. The following are available:
• All cams that are defined on the relevant device. The cams are defined in the CAMS
folder in the project navigator.
• All technology object-type variables declared in the MCC unit or MCC chart (see
Technology object data types (Page 101)): camType.
The Profile position at start of path and Profile position at end of path parameters are
used to select an area within the definition range of the cam (x axis) that is mapped by
scaling to the length of the programmed path. The value range (y axis) is interpreted as
the velocity in the unit configured on the path object.
Profile position at start of path These two values determine the area within the definition range of the cam (x axis) that is
Profile position at end of path mapped by scaling to the length of the programmed path.
Enter the values as signed floating-point numbers.
See the input field (Page 65).
5.8.3.4 Overview of parameters for Traverse path using polynomials – Path-synchronous motion
tab
Table 5- 276 Overview of parameters for Traverse path using polynomials – Path-synchronous motion tab
Field/Button Explanation/instructions
Here, you define values the motion of the additional positioning axis that is assigned to
the path object and is traversed synchronously with the path motion.
Mode of path-synchronous Here, you specify how the axis for path-synchronous motion should be traversed with the
motion path motion:
Absolute
The programmed Position of path-synchronous motion is the end point of the path-
synchronous motion.
Relative
The programmed Position of path-synchronous motion is the traversing distance of the
path-synchronous motion.
Output path length
The path length (i.e. the distance covered by the path motion) is outputted linearly,
beginning from zero, as the path-synchronous motion.
Output path length added
The path length (i.e. the distance covered by the path motion) added to the existing value
at the beginning of the path motion is outputted as the path-synchronous motion.
Preassignment
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.w.mode
Field/Button Explanation/instructions
Direction of synchronous path Select the direction of the path-synchronous motion. The direction must be specified in
motion the following cases:
• The Mode of path-synchronous motion is relative
• The axis for the path-synchronous motion is a modulo axis.
Positive
The direction of motion is the positive direction of the axis. With relative motion, the sign
of the position is ignored.
Negative
The direction of motion is the negative direction of the axis. With relative motion, the sign
of the position is ignored.
From position
The direction of motion is determined by the sign of the Position of path-synchronous
motion.
Shortest path
• With relative Mode of path-synchronous motion: The direction of motion is determined
by the sign of the Position of path-synchronous motion.
• For modulo axes: The direction of motion is the direction in which the programmed
target position can be reached via the shortest path.
Preassignment
See Selection list (combo box) (Page 65)
System variable for preassigned value: userDefault.w.direction
Position of path-synchronous This parameter is evaluated only for the following settings for Mode of path-synchronous
motion motion and has different meanings:
• Absolute: End point of the path-synchronous motion.
• Relative: Traversing distance of the path-synchronous motion.
Enter the values as signed floating-point numbers.
See Input field (Page 65)
5.8.3.5 Overview of parameters for Traverse path using polynomials – Expert tab
Table 5- 277 Overview of parameters for Traverse path using polynomials – Expert tab
Field/Button Explanation/instructions
The Expert tab is described in detail in Overview of parameters for Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT, for a description, see Return value for the system functions of the
technology packages (Page 86).
Table 5- 278 Parameters (MCC Traverse path using polynomials command compared to _movePathPolynomial system
function)
For the fundamentals of path interpolation, see the TO Path Interpolation Function Manual
For additional information on stopping and continuing path motion, see the TO Path
Interpolation Function Manual.
Field/Button Explanation/instructions
Path object In Path object, select the path object whose assigned axes (path axes and synchronous
axis) are to be stopped. The list contains:
• All path objects that are defined on the relevant device. The path objects are defined
in the PATH OBJECTS folder in the project navigator.
• All variables with the following data type of a technology object declared in the MCC
source file or MCC chart (see Technology object data types (Page 101)):
_pathObjectType.
Parameters tab See Overview of parameters for Stop path motion - Parameters tab (Page 530)
Dynamic response tab See Overview of parameters for Stop path motion - Dynamic response tab (Page 531)
Expert tab See Overview of parameters for Stop path motion - Expert tab (Page 531)
Stop behavior Specifies when the command takes effect relative to the motion.
Stop path immediately
The active path motion is substituted immediately. All motion commands still pending in
the command buffer are deleted.
Stop at the end of the path command.
Not relevant.
Delay program execution • Select the check box if you wish the system to delay execution of the following
command in the MCC chart until the selected condition has been satisfied.
If the check box is not selected, the next command is executed immediately.
• Select the condition that has to be satisfied before the system continues execution of
the following command in the MCC chart.
See also Delay program execution (step enabling condition) (Page 83).
Table 5- 280 Overview of parameters for Stop path motion – Parameters tab
Field/Button Explanation/instructions
Stop mode Select a stop mode here. The path motion is stopped with the programmed dynamic
response parameters (Dynamic response tab (Page 531)). The last calculated positions
(setpoint values) of the path axes and the synchronous axis assigned to the path object
are stored in the abortPosition system variable.
Stop without abort (default value)
The motion can be continued with the Continue path motion command.
Stop with abort
The motion cannot be continued.
5.8.4.3 Overview of parameters for Stop path motion – Dynamic response tab
Table 5- 281 Overview of parameters for Stop path motion – Dynamic response tab
Field/Button Explanation/instructions
The Dynamic response tab is described in detail in Overview of parameters for Dynamic
response tab (Page 75).
Velocity profile In this field, you define the transitions between the individual motion phases.
System variable for preassigned value: userDefault.pathDynamics.profile
Deceleration The entered value acts during the constant deceleration phase.
System variable for preassigned value: userDefault.pathDynamics.negativeAccel
Jerk The entered value limits the change in the acceleration or deceleration at the start and
end of the respective phase.
System variables for preassigned value: userDefault.pathDynamics.positiveAccelEndJerk
userDefault.pathDynamics.negativeAccelStartJerk
userDefault.pathDynamics.negativeAccelEndJerk
Table 5- 282 Overview of parameters for Stop path motion – Expert tab
Field/Button Explanation/Instruction
The Expert tab is described in detail in Overview of parameters for Expert tab (Page 79).
CommandID variable If you enter the name of a variable of data type CommandIdType, you can track the
command status with this variable.
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Table 5- 283 Parameters (MCC Stop path motion command compared to _stopPath system function)
For the fundamentals of path interpolation, see the TO Path Interpolation Function Manual
For additional information on stopping and continuing path motion, see the TO Path
Interpolation Function Manual.
Field/Button Explanation/Instruction
Path object In Path object, select the path object for which the motion of the assigned axes (path
axes and synchronous axis) is to be continued. The list contains:
• All path objects that are defined on the relevant device. The path objects are defined
in the PATH OBJECTS folder in the project navigator.
• All variables with the following data type of a technology object declared in the MCC
unit or MCC chart (see Technology object data types (Page 101)): _pathObjectType.
CommandID variable Enter the name of a variable of data type CommandIdType here. With the help of this
variable, you can, for example, trace back the status of the command.
Variables of data type CommandIdType declared in the MCC source file or MCC chart
are provided for selection.
If you leave the CommandID variable field empty, the CommandID is not assigned to any
variables; this means that you cannot access the CommandID (standard).
See also Overview of parameters for the Expert tab (Page 79).
Return variable If you enter the name of a variable of the specified data type, you can use this variable to
find out the result of the command call.
Data type DINT; for a description, see Return value for system functions of the
technology packages (Page 86).
Delay program execution Select the check box if you wish to delay execution of the following command until the
current command has been completed. If the check box is not selected, the next
command is executed immediately.
Table 5- 285 Parameters (MCC Continue path motion command compared to _continuePath system function)
Note
Programs need only be assigned to a task once; this assignment is retained if the program is
recompiled.
Table 6- 1
Note
The sequence in which these tasks are first started after RUN mode has been reached
does not conform to the task priorities.
Setting Meaning
Process mode Program execution on the SIMOTION device is optimized for maximum system performance.
The following diagnostic functions are available, although they may have only restricted
functionality because of the optimization for maximum system performance:
• Monitor variables in the symbol browser (Page 548) or a watch table (Page 551).
• Program status (Page 556) (only restricted):
– Restricted monitoring of variables (e.g. variables in loops, return values for system
functions).
– As of version V4.0 of the SIMOTION kernel:
No more than one program source (e.g. ST source, MCC source, LAD/FBD source) can
be monitored per task.
– Up to version V3.2 of the SIMOTION kernel:
No more than one program source (e.g. ST source, MCC source, LAD/FBD source) can
be monitored.
• Trace tool (only restricted) with measuring functions for drives and function generator, see
online help:
– No more than one trace on each SIMOTION device.
Test mode The diagnostic functions of the process mode are available to the full extent:
• Monitor variables in the symbol browser (Page 548) or a watch table (Page 551).
• Program status (Page 556):
– Monitoring of all variables possible.
– As of version V4.0 of the SIMOTION kernel:
Several program sources (e.g. ST sources, MCC sources, LAD/FBD sources) can be
monitored per task.
– Up to version V3.2 of the SIMOTION kernel:
No more than one program source (e.g. ST source, MCC source, LAD/FBD source) can
be monitored per task.
• Trace tool with measuring functions for drives and function generator, see online help:
– No more than four traces on each SIMOTION device.
Note
Runtime and memory utilization increase as the use of diagnostic functions increases.
Debug mode This mode is available in SIMOTION kernel as of V3.2.
In addition to the diagnostic functions of the test mode, you can use the following functions:
• Breakpoints
Within a program source file, you can set breakpoints (Page 563). When an activated
breakpoint is reached, selected tasks will be stopped.
• Controlling MotionTasks
In the "Task Manager" tab of the device diagnostics, you can use task control commands for
MotionTasks, see the SIMOTION Basic Functions Function Manual.
No more than one SIMOTION device of the project can be switched to debug mode.
SIMOTION SCOUT is in online mode, i.e. connected with the target system.
Observe the following section: Important information about the life-sign monitoring (Page 545).
WARNING
You must observe the appropriate safety regulations.
Use the debug mode or a control panel only with the life-sign monitoring function activated
with a suitably short monitoring time! Otherwise, if problems occur in the communication
link between the PC and the SIMOTION device, the axis may start moving in an
uncontrollable manner.
The function is released exclusively for commissioning, diagnostic and service purposes.
The function should generally only be used by authorized technicians. The safety
shutdowns of the higher-level control have no effect.
Therefore, there must be an EMERGENCY STOP circuit in the hardware. The appropriate
measures must be taken by the user.
NOTICE
Pressing the spacebar or switching to a different Windows application causes:
• In debug mode for activated breakpoints:
– The SIMOTION device switches to STOP mode.
– The outputs are deactivated (ODIS).
• For controlling an axis or a drive using the control panel (control priority for the PC):
– The axis or the drive is brought to a standstill.
– The enables are reset.
WARNING
This function is not guaranteed in all operating modes. Therefore, there must be an
EMERGENCY STOP circuit in the hardware. The appropriate measures must be taken by
the user.
Field Description
Life-sign monitoring The SIMOTION device and SIMOTION SCOUT regularly exchange life-
sign signals to ensure a correctly functioning connection. If the exchange
of the life-sign is interrupted longer than the set monitoring time, the
following response occurs:
• In debug mode for activated breakpoints:
– The SIMOTION device switches to STOP mode.
– The outputs are deactivated (ODIS).
• For controlling an axis or a drive using the control panel (control
priority for the PC):
– The axis is brought to a standstill.
– The enables are reset.
The following parameterizations are possible:
• Active check box:
If the check box is selected, life-sign monitoring is active.
The deactivation of the life-sign monitoring is not always possible.
• Monitoring time:
Enter the timeout.
Prudence
Do not make any changes to the defaults for life-sign monitoring, if
possible.
Changes should only be made in special circumstances and in
observance of all danger warnings.
Safety information Please observe the warning!
Click the button to obtain further safety information.
See: Important information about the life-sign monitoring (Page 545)
Features
In the symbol browser, you can view and, if necessary, change the name, data type, and
variable values. In particular, you can: see the following variables:
● Unit variables and static variables of a program or function block
● System variables of a SIMOTION device or a technology object
● I/O variables or global device variables.
For these variables, you can:
● View a snapshot of the variable values
● Monitor variable values as they change
● Change (modify) variable values
However, the symbol browser can only display/modify the variable values if the project has
been loaded in the target system and a connection to the target system has been
established.
The symbol browser shows all tasks used in the execution system together with the
assigned programs. The associated variables contained in the user memory of the task are
listed below.
Note
You can monitor temporary variables (together with unit variables and static variables) with
Program status (see Program status (Page 556)).
NOTICE
Note when you change the values of several variables:
The values are written sequentially to the variables. It can take several milliseconds until
the next value is written. The variables are changed from top to bottom in the symbol
browser. There is therefore no guarantee of consistency.
Display Meaning
1.#QNAN Invalid bit pattern in accordance with IEEE 754 (NaN Not a Number) There is no
-1.#QNAN distinction between signaling NaN (NaNs) and quiet NaN (NaNq).
1.#INF Bit pattern for + infinity in accordance with IEEE 754
-1.#INF Bit pattern for – infinity in accordance with IEEE 754
-1.#IND Bit pattern for indeterminate
Characteristics
With the symbol browser you see only the variables of an object within the project. With
program status you see only the variables in certain MCC commands.
With watch tables, in contrast, you can monitor selected variables from different sources as a
group (e.g. program sources, technology objects, SINAMICS drives - even on different
devices).
You can see the data type of the variables in offline mode. You can view and modify the
value of the variables in online mode.
5. From the context menu, select Add to watch table and the appropriate watch table, e.g.
Watch table_1.
6. If you click the watch table, you will see in the detail view of the Watch table tab that the
selected variable is now in the watch table.
7. Repeat steps 3 to 6 to monitor the variables of various objects.
If you are connected to the target system, you can monitor the variable contents.
NOTICE
Note when you change the values of several variables:
The values are written sequentially to the variables. It can take several milliseconds until
the next value is written. The variables are changed from top to bottom in the watch table.
There is therefore no guarantee of consistency.
NOTICE
As the execution time of the program is extended, the time watchdog must be adapted
accordingly for cyclical tasks (TimerInterruptTask, BackgroundTask) or, if necessary,
switched off.
Jumps in functions and function blocks can also be monitored if single-step tracking is
enabled in their MCC charts. The relevant MCC chart is then opened when the function or
function block is called.
Note
Single-step tracking in functions and function blocks is only possible if single-step tracking is
also enabled in the calling MCC chart.
Single-step tracking is not possible within the Synchronous start (Page 233) command.
The parameter screen forms of the active MCC chart can be opened and read, but no
changes can be made.
Note
Two variables are assigned to every task, TSI#dwuser_1 and TSI#dwuser_2, which can be
read and written.
If single-step tracking is enabled, these variables are used by the compiler to control single-
step tracking if there is at least one MCC chart assigned to the task. These variables may
then not be used by the user because these contents may be overwritten by the single-step
tracking or unwelcome side effects may occur.
Note
The program stays in single-step mode if the SIMOTION device goes offline or the MCC
chart is closed.
Note
Program status and single-step tracking
If you have activated program status (Page 556) and single-step tracking, the monitored
variables from a command are only updated once the next single step has been triggered,
i.e. not until you have changed from this command to the next command to be processed.
Note
The following variables cannot be displayed for the IF, WHILE, UNTIL or "variable
assignment" commands when the LAD or FBD programming language is used:
• Local variables
• Enumeration/constant values and hexadecimal and binary values
Due to the restricted buffer capacity and the requirement for minimum runtime tampering,
the following variables cannot be displayed:
• Complete arrays
• Complete structures
However, individual array elements or individual structure elements are displayed if an
assignment is made in the MCC chart.
Program status requires additional CPU resources.
Note
Program status and single-step tracking
If you have activated program status and single-step tracking (see Tracking single steps in
the program (Page 553)), the monitored variables from a command are only updated once
the next single step has been triggered, i.e. not until you have changed from this command
to the next command to be processed.
Name Meaning
taskbind.hid Execution system
stdfunc.pck IEC library
device.pck Device-specific library
tp-name.pck Library of the tp-name technology package,
e.g. cam.pck for the library of the CAM technology package
Field Description
Selected CPU The selected SIMOTION device is displayed.
Refresh Clicking the button reads the current code positions from the
SIMOTION device and shows them in the open window.
Calling task Select the task for which you want to determine the code position
being executed.
All configured tasks of the execution system.
Current code position The position being executed in the program code (e.g. line of an ST
source file) is displayed (with the name of the program source file,
line number, name of the POU).
is called by The code positions that call the code position being executed within
the selected task are shown recursively (with the name of the
program source file, line number, name of the POU, and name of the
function block instance, if applicable).
For names of the SIMOTION RT program sources, refer to the table in "Program run
(Page 558)".
Symbol Meaning
Display program run
Click this button to open the Program run call stack window. In this window, you can
display the currently active code position with its call path.
See: Program run: Display code position and call path (Page 558)
7.6 Trace
Trace allows you to log and graphically display the characteristics of signals and axis states.
You must configure the data that you wish to record in the SIMOTION Trace tool (for
description, see the online help).
This command can be used to log the characteristics of signals and axis states at a defined
position in the program.
In order for trace recording to start when the command is run, the trace must already have
been started in the trace tool by clicking the button. Additional details about working with
the trace tool can be found in the online help.
System variable traceState[n].tracestate on the SIMOTION device can be used to query
whether the trace is still in progress or has already finished. You can monitor this variable in
the symbol browser if you have selected the SIMOTION device in the project navigator.
If another trace recording is required after the current one has finished, the trace will need to
be started again by clicking the button.
Overview of parameters
You can set the following parameters:
Field/Button Explanation/Instruction
Trace Trigger 1 Trace is started when the following condition is satisfied:
"Trigger with TraceTrigger 1 program call".
Trace Trigger 2 Trace is started when the following condition is satisfied:
"Trigger with TraceTrigger 2 program call".
7.7 Breakpoints
Requirement:
● The program source with the POU (e.g. ST source file, MCC chart, LAD/FBD program) is
open.
Proceed as follows
Follow these steps:
1. Select "Debug mode" for the associated SIMOTION device, see Set debug mode
(Page 564).
2. Specify the debug task group, see Specifying the debug task group (Page 565).
3. Set breakpoints, see Setting breakpoints (Page 567).
4. Define the call path, see Defining a call path for a single breakpoint (Page 570).
5. Activate the breakpoints, see Activating breakpoints (Page 574).
See also
Breakpoints toolbar (Page 569)
WARNING
You must observe the appropriate safety regulations.
Use the debug mode only with activated life-sign monitoring (Page 545) with a suitably
short monitoring time! Otherwise, if problems occur in the communication link between the
PC and the SIMOTION device, the axis may start moving in an uncontrollable manner.
The function is released exclusively for commissioning, diagnostic and service purposes.
The function should generally only be used by authorized technicians. The safety
shutdowns of the higher-level control have no effect!
Therefore, there must be an EMERGENCY STOP circuit in the hardware. The appropriate
measures must be taken by the user.
Note
You cannot change the program sources in debug mode!
NOTICE
Pressing the spacebar or switching to a different Windows application causes in debug
mode for activated breakpoints:
• The SIMOTION device switches to STOP mode.
• The outputs are deactivated (ODIS).
WARNING
This function is not guaranteed in all operating modes. Therefore, there must be an
EMERGENCY STOP circuit in the hardware. The appropriate measures must be taken by
the user.
See also
Modes of the SIMOTION devices (Page 543)
Requirement
● The relevant SIMOTION device is in debug mode.
Proceed as follows
How to assign a task to the debug task group:
1. Highlight the relevant SIMOTION device in the project navigator.
2. Select Debug task group from the context menu.
The Debug Task group window opens.
3. Select the tasks to be stopped on reaching the breakpoint:
– If you only want to stop individual tasks (in RUN mode): Activate the Debug task group
selection option.
Assign all tasks to be stopped on reaching a breakpoint to the Tasks to be stopped
list.
– If you only want to stop individual tasks (in HALT mode): Activate the All tasks
selection option.
In this case, also select whether the outputs and technology objects are to be released
again after resumption of program execution.
NOTICE
Note the different behavior when an activated breakpoint is reached, see the following
table.
Table 7- 7 Behavior at the breakpoint depending on the tasks to be stopped in the debug task group.
Note
You can only make changes to the debug task group if no breakpoints are active.
Proceed as follows:
1. Set breakpoints (see Setting breakpoints (Page 567)).
2. Define the call path (see Defining a call path for a single breakpoint (Page 570)).
3. Activate the breakpoints (see Activating breakpoints (Page 574)).
Requirements:
1. The program source with the POU (e.g. ST source file, MCC chart, LAD/FBD program) is
open.
2. The relevant SIMOTION device is in debug mode,
see Setting debug mode (Page 564).
3. The debug task group is defined, see Defining the debug task group (Page 565).
Proceed as follows
How to set a breakpoint:
1. Select the code location where no breakpoint has been set:
– SIMOTION ST: Place the cursor on a line in the ST source file that contains a
statement.
– SIMOTION MCC: Select an MCC command in the MCC chart (except module or
comment block).
– SIMOTION LAD/FBD: Set the cursor in a network of the LAD/FBD program.
2. Alternative:
– Select the Debug > Set/remove breakpoint menu command (shortcut F9).
– Click the button in the Breakpoints toolbar.
To remove a breakpoint, proceed as follows:
1. Select the code position with the breakpoint.
2. Alternative:
– Select the Debug > Set/remove breakpoint menu command (shortcut F9).
– Click the button in the Breakpoints toolbar.
To remove all breakpoints (in all program sources) of the SIMOTION device, proceed as
follows:
● Alternative:
– Select the Debug > Remove all breakpoints menu command (shortcut CTRL+F5).
– Click the button in the Breakpoints toolbar.
Note
You cannot set breakpoints:
• For SIMOTION ST: In lines that contain only comment.
• For SIMOTION MCC: On the module or comment block commands.
• For SIMOTION LAD/FBD: Within a network.
• At code locations in which other debug points (e.g. trigger points) have been set.
You can list the debug points in all program sources of the SIMOTION device in the debug
table:
• Click the button for "debug table" in the Breakpoints toolbar.
In the debug table, you can also remove all breakpoints (in all program sources) of the
SIMOTION device:
• Click the button for "Clear all breakpoints".
Set breakpoints remain saved also after leaving the "debug mode", they are displayed only
in debug mode.
You can use the program status (Page 556) diagnosis functions and breakpoints together in
a program source file or POU. However, the following restrictions apply depending on the
program languages:
● SIMOTION ST: For Version V3.2 of the SIMOTION Kernel, the (marked) ST source file
lines to be tested with program status must not contain a breakpoint.
● SIMOTION MCC and LAD/FBD: The commands of the MCC chart (or networks of the
LAD/FBD program) to be tested with program status must not contain a breakpoint.
Proceed as follows
1. Define the call path, see Defining a call path for a single breakpoint (Page 570).
2. Activate the breakpoints, see Activating breakpoints (Page 574).
Symbol Meaning
Set/remove breakpoint
Click this icon to set at breakpoint for the selected code position or to remove an
existing breakpoint.
See: Setting breakpoints (Page 567).
Activate/deactivate breakpoint
Click this icon to activate or deactivate the breakpoint at the selected code position.
See: Activating breakpoints (Page 574).
Edit the call path
Click this icon to define the call path for the breakpoints:
• If a code position with breakpoint is selected: The call path for this breakpoint.
• If a code position without breakpoint is selected: The call path for all breakpoints
of the POU.
See: Defining the call path for a single breakpoint (Page 570), Defining the call path
for all breakpoints (Page 572).
Activate all breakpoints
Click this icon to activate all breakpoints in the current program source or POU (e.g.
ST source file, MCC chart, LAD/FBD program).
See: Activating breakpoints (Page 574).
Deactivate all breakpoints
Click this icon to deactivate all breakpoints in the current program source or POU
(e.g. ST source file, MCC chart, LAD/FBD program).
See: Activating breakpoints (Page 574).
Remove all breakpoints
Click this icon to remove all breakpoints in the current program source or POU (e.g.
ST source file, MCC chart, LAD/FBD program).
See: Setting breakpoints (Page 567).
Debug table
Click this icon to display the debug table.
See: Debug table parameters.
Display call stack
Click this icon after reaching an activated breakpoint to:
• View the call path at the current breakpoint.
• View the code positions at which the other tasks of the debug task group have
been stopped together with their call path.
See: Displaying the call stack (Page 576).
Resume
Click this icon to continue the program execution after reaching an activated
breakpoint.
See: Activating breakpoints (Page 574), Displaying the call stack (Page 576).
Requirements:
1. The program source with the POU (e.g. ST source file, MCC chart, LAD/FBD program) is
open.
2. The relevant SIMOTION device is in debug mode,
see Setting debug mode (Page 564).
3. The debug task group is defined, see Defining the debug task group (Page 565).
4. Breakpoint is set, see Setting breakpoints (Page 567).
Proceed as follows
To define the call path for a single breakpoint, proceed as follows:
1. Select the code location where a breakpoint has already been set:
– SIMOTION ST: Set the cursor in an appropriate line of the ST source.
– SIMOTION MCC: Select an appropriate command in the MCC chart.
– SIMOTION LAD/FBD: Set the cursor in an appropriate network of the LAD/FBD
program.
2. Click the button for "edit call path" in the Breakpoints toolbar.
In the Call path / task selection breakpoint window, the marked code position is displayed
(with the name of the program source file, line number, name of the POU).
3. Select the task in which the user program (i.e. all tasks in the debug task group) will be
stopped when the selected breakpoint is reached.
The following are available:
– All calling locations starting at this call level
The user program will always be started when the activated breakpoint in any task of
the debug task group is reached.
– The individual tasks from which the selected breakpoint can be reached.
The user program will be stopped only when the breakpoint in the selected task is
reached. The task must be in the debug task group.
The specification of a call path is possible.
4. Only for functions and function blocks: Select the call path, i.e. the code position to be
called (in the calling POU).
The following are available:
– All calling locations starting at this call level
No call path is specified. The user program is always stopped at the activated
breakpoint if the POU in the selected tasks is called.
– Only when a single task is selected: The code positions to be called within the
selected task (with the name of the program source, line number, name of the POU).
The call path is specified. The user program will be stopped at the activated
breakpoint only when the POU is called from the selected code position.
If the POU of the selected calling code position is also called from other code
positions, further lines are displayed successively in which you proceed similarly.
5. If the breakpoint is only to be activated after the code position has been reached several
times, select the number of times.
Note
You can also define the call path to the individual breakpoints in the debug table:
1. Click the button for "debug table" in the Breakpoints toolbar.
The "Debug table" window opens.
2. Click the appropriate button in the "Call path" column.
3. Proceed in the same way as described above:
– Specify the task.
– Define the call path (only for functions and function blocks).
– Specify the number of passes after which the breakpoint is to be activated.
Proceed as follows:
● Activate the breakpoints, see Activating breakpoints (Page 574).
Note
You can use the "Display call stack (Page 576)" function to view the call path at a current
breakpoint and the code positions at which the other tasks of the debug task group were
stopped.
See also
Defining the call path for all breakpoints (Page 572)
Requirements
● The program source with the POU (e.g. ST source file, MCC chart, LAD/FBD program) is
open.
● The relevant SIMOTION device is in debug mode,
see Setting debug mode (Page 564).
● The debug task group is defined, see Defining the debug task group (Page 565).
Proceed as follows
To define the call path for all future breakpoints of a POU, proceed as follows:
1. Select the code location where no breakpoint has been set:
– SIMOTION ST: Set the cursor in an appropriate line of the ST source.
– SIMOTION MCC: Select an appropriate command in the MCC chart.
– SIMOTION LAD/FBD: Set the cursor in an appropriate network of the LAD/FBD
program.
2. Click the button for "edit call path" in the Breakpoints toolbar.
In the "Call path / task selection all breakpoints for each POU" window, the marked code
position is displayed (with the name of the program source file, line number, name of the
POU).
3. Select the task in which the user program (i.e. all tasks in the debug task group) will be
stopped when a breakpoint in this POU is reached.
The following are available:
– All calling locations starting at this call level
The user program will always be started when an activated breakpoint of the POU in
any task of the debug task group is reached.
– The individual tasks from which the selected breakpoint can be reached.
The user program will be stopped only when a breakpoint in the selected task is
reached. The task must be in the debug task group.
The specification of a call path is possible.
4. Only for functions and function blocks: Select the call path, i.e. the code position to be
called (in the calling POU).
The following are available:
– All calling locations starting at this call level
No call path is specified. The user program is always stopped at an activated
breakpoint when the POU in the selected tasks is called.
– Only when a single task is selected: The code positions to be called within the
selected task (with the name of the program source, line number, name of the POU).
The call path is specified. The user program will be stopped at an activated breakpoint
only when the POU is called from the selected code position.
If the selected calling code position is in turn called by other code positions, further
lines are displayed successively in which you proceed similarly.
5. If a breakpoint is only to be activated after the code position has been reached several
times, select the number of times.
6. If you want to accept and compare this call path for all previously set breakpoints in this
POU:
– Click Accept.
Proceed as follows:
● Activate the breakpoints, see Activating breakpoints (Page 574).
Note
You can use the "Display call stack (Page 576)" function to view the call path at a current
breakpoint and the code positions at which the other tasks of the debug task group were
stopped.
See also
Defining the call path for a single breakpoint (Page 570)
Requirements
1. The program source with the POU (e.g. ST source file, MCC chart, LAD/FBD program) is
open.
2. The relevant SIMOTION device is in debug mode,
see Setting debug mode (Page 564).
3. The debug task group is defined, see Defining the debug task group (Page 565).
4. Breakpoints are set, see Setting breakpoints (Page 567).
5. Call paths are defined, see Defining a call path for a single breakpoint (Page 570).
Activating breakpoints
How to activate a single breakpoint:
1. Select the code location where a breakpoint has already been set:
– SIMOTION ST: Set the cursor in an appropriate line of the ST source.
– SIMOTION MCC: Select an appropriate command in the MCC chart.
– SIMOTION LAD/FBD: Set the cursor in an appropriate network of the LAD/FBD
program.
2. Alternative:
– Select the Debug > Activate/deactivate breakpoint menu command (shortcut F12).
– Click the button in the Breakpoints toolbar.
To activate all breakpoints (in all program sources) of the SIMOTION device, proceed as
follows:
● Alternative:
– Select the Debug > Activate all breakpoints menu command.
– Click the button in the Breakpoints toolbar.
Note
Breakpoints of all program sources of the SIMOTION device can also be activated and
deactivated in the debug table:
1. Click the button for "debug table" in the Breakpoints toolbar.
The "Debug table" window opens.
2. Perform the action below, depending on which breakpoints you want to activate or
deactivate:
– Single breakpoints: Check or clear the corresponding checkboxes.
– All breakpoints (in all program sources): Click the corresponding button.
Deactivate breakpoints
To deactivate a single breakpoint, proceed as follows:
1. Select the code position with the activated breakpoint.
2. Alternative:
– Select the Debug > Activate/deactivate breakpoint menu command (shortcut F12).
– Click the button in the Breakpoints toolbar.
To deactivate all breakpoints (in all program sources) of the SIMOTION device, proceed as
follows:
● Alternative:
– Select the Debug > Deactivate all breakpoints menu command.
– Click the button in the Breakpoints toolbar.
Requirement
The user program is stopped at an activated breakpoint, i.e. the tasks of the debug task
group (Page 565) have been stopped.
Proceed as follows
To call the "Display call stack" function, proceed as follows:
● Click the button for "display call stack" in the Breakpoints toolbar.
The "Breakpoint call stack" dialog opens. The current call path (including the calling task
and the number of the set passes) is displayed.
The call path cannot be changed.
To use the "Display call stack" function, proceed as follows:
1. Keep the "Breakpoint call stack" dialog open.
2. To display the code position at which the other task was stopped, proceed as follows:
– Select the appropriate task. All tasks of the debug task group can be selected.
The code position, including the call path, is displayed. If the code position is contained in
a user program, the program source with the POU (e.g. ST source file, MCC chart,
LAD/FBD program) will be opened and the code position marked.
3. How to resume program execution:
– Click the button for "resume" (Ctrl+F8 shortcut) in the Breakpoint toolbar.
When the next activated breakpoint is reached, the tasks of the debug task group will be
stopped again. The current call path, including the calling task, is displayed.
4. Click "OK" to close the "Breakpoint call stack" dialog.
For names of the SIMOTION RT program sources, refer to the table in "Program run
(Page 558)".
Note
You can switch between LAD and FBD provided that the programmed functions can be
displayed in both languages.
The ladder diagram (LAD) for MCC has a limited set of operations.
The following operations are available in MCC:
● NO contact
● NC contact
● Comparator (CMP)
● Open/close branch
Every logic operation queries the signal status (0 or 1) of an electrical contact. The result is
then stored or used to execute another operation.
NO contact
● In a series connection, the operation gates the result of its signal state scan according to
the AND truth table.
● In a parallel connection, the operation gates the result of its signal state scan according to
the OR truth table.
,,
,
NC contact
,
Comparator
&PS
!
&PS
!
&RPSDULVRQW\SHV
,QSXWHTXDOV,QSXW
!,QSXWGRHVQRWHTXDO,QSXW
!,QSXWLVJUHDWHUWKDQ,QSXW
,QSXWLVOHVVWKDQ,QSXW
! ,QSXWLVJUHDWHUWKDQRUHTXDOWR,QSXW
,QSXWLVOHVVWKDQRUHTXDOWR,QSXW
E
Figure A-4 Example of direct and variable addressing
Open/close branch
You can open and close parallel branches to fork the current flow. All operands and
branches must be interlinked. Each branch must contain at least one operand.
,,
7KHUHVXOWLVLIWKHIROORZLQJ
FRQGLWLRQVDSSO\
, ,LVFORVHG
,LVFORVHG
,LVRSHQ
,,
7KHUHVXOWLVLIWKHIROORZLQJ
FRQGLWLRQVDSSO\
, ,LVFORVHG
,LVRSHQ
,LVFORVHG
,,
7KHUHVXOWLVLIWKHIROORZLQJ
FRQGLWLRQVDSSO\
, ,LVFORVHG
,LVFORVHG
,LVFORVHG
&RQGXFWLQJ
Note
You can switch between LAD and FBD provided that the programmed functions can be
displayed in both languages.
AND operation
,
,
OR logic operation
ุ
ุ
,
,
Example of an OR operation
① The result is 1 if the following condition is fulfilled:
%I 1.0 = 1 OR %I 1.1 = 1
Inverted input
The signal status of the input is inverted by a dot at an operator input.
ุ
,
,
Comparator
&PS
!
&PS
!
&RPSDULVRQW\SHV
,QSXWHTXDOV,QSXW
!,QSXWGRHVQRWHTXDO,QSXW
!,QSXWLVJUHDWHUWKDQ,QSXW
,QSXWLVOHVVWKDQ,QSXW
! ,QSXWLVJUHDWHUWKDQRUHTXDOWR,QSXW
,QSXWLVOHVVWKDQRUHTXDOWR,QSXW
E
① Constant 50 is the actual value at which Input 1 of the box should work. Constant 50 is the
direct operand of the box.
Input 2 is to work with the value of the variable b. Variable b is a direct operand.
,
, ุ
,
,
With the OR before AND operation, it is possible to query the result of a signal state scan
according to the AND truth table.
The result is "1" if all OR operations are fulfilled.
ุ
,
,
ุ
,
,
Note
You can switch from Formula to LAD or FBD and vice versa provided that the programmed
functions can be displayed in the other language.
Simple examples
The two examples illustrate an AND operation and an OR operation.
Instruction Description
%I0.0 AND a = 50 The result is 1 if input 0.0 is closed and variable a
has a value of 50.
Instruction Description
%I0.0 OR %I0.1 The result is 1 if input 0.0 or input 0.1 is closed.
Instruction Description
Axis_1.positioningstate.homed = YES The result = 1, if the axis has reached its homing
position and is therefore homed.
Shortcut Significance
When MCC source file is open
Ctrl+F4 Closes the active MCC source file.
Ctrl+B Accepts and compiles the active MCC unit
Alt+Enter Displays the properties of the active MCC unit for editing
Ctrl+R Inserts an MCC chart in the MCC unit
Ctrl+P Prints the MCC charts contained in the MCC unit
When an MCC chart is open
Ctrl+F4 Closes the active MCC chart.
Ctrl+B Accepts and compiles the MCC unit from the active MCC chart
Alt+Enter Displays the properties of the active MCC chart for editing
Ctrl+P Prints the active MCC chart
↑ Selects the preceding command in the MCC chart
↓ Selects the next command in the MCC chart.
← Selects the command to the left of the currently selected command (parallel
branching).
→ Selects the command to the right of the currently selected command (parallel
branching).
Ctrl+K With a command selected, opens the brief comment box
Ctrl+P Prints the active MCC chart
Ctrl+Z Close the brief comment box
Pos1 Selects the left-hand branch (e.g. in a CASE statement)
End Selects the right-hand branch (e.g. in a CASE statement)
Ctrl+Pos1 Selects the first command in the MCC chart
Ctrl+End Selects the last command in the MCC chart
Pg up Moves the visible contents of the working area upwards by a distance of one
window
Pg down Moves the visible contents of the working area downwards by a distance of
one window
Edit menu
Ctrl+Z Undoes the last action (except: Save).
Ctrl+Y Restores the action that was last undone.
Ctrl+X Cuts a command
Ctrl+C Copies a command
Ctrl+V Inserts a command
Del Deletes selected commands in the MCC chart.
Alt+Enter Displays the properties of the active/selected object for editing.
Enter Opens the selected object.
Ctrl+A Highlights all the objects in the current window.
Ctrl+B Saves and compiles the active/selected object.
Shortcut Significance
Window menu
Ctrl+Shift+F5 Arranges all windows open in this application evenly from top to bottom in tile
formation
Ctrl+Shift+F3 Arranges all windows open in this application evenly from left to right in tile
formation
Alt+F4 Closes all windows and ends the application.
View menu
Ctrl+F11 Maximizes working area
Ctrl+F12 Maximizes detail view
Ctrl+Num+ Enlarges the contents of the working area.
Ctrl+Num- Reduces the contents of the working area.
F5 Updates the view
LAD and FBD:
A number of MCC commands provide a limited command range for the LAD and FBD graphic
programming languages (see LAD/FBD/Formula (Page 164)).
The following shortcuts apply to both LAD and FBD.
Cursor keys With a selected operator: Navigation between the individual operators
When an edit field is open: Navigates between individual operands
Del Deletes an operator
Tab / Shift+Tab Jumps forward to next button / input field / jumps back to previous button /
input field
Pg up Reduces (zooms) display
Pg down Enlarges (zooms) display
Pos1 Zooms to 100%
End Zooms to total view
Return Opens the edit field of the current operand or confirms the entry made in the
edit field
Esc Aborts the entry while edit field is open
Alt+I Inserts a new variable
(only active with variable assignment for the MCC command)
Alt+D Deletes a variable
(only active with variable assignment for the MCC command)
Within LAD: The following shortcuts only apply to the LAD programming language.
Alt+C Inserts an NO contact
Alt+N Inserts an NC contact
Alt+V Inserts a comparator
Alt+P Opens a branch
Alt+L Closes a branch
Within FBD: The following shortcuts only apply to the FBD programming language.
Alt+A Inserts an AND
Alt+O Inserts an OR
Alt+B Adds an input
Alt+N Negates an input
Alt+V Inserts a comparator
G M
Global device user variables MCC
Defining, 104 Introduction, 21
Group variable MCC chart
_MccRetSyncStart, 233 Accept, 46
assigning programs to a task, 537
changing the creation type, 51
I closing, 46
Compiling, 46
I/O variable
defining order, 47
create, 125, 133
deleting, 46
Creating, 125, 133
downloading task to the target system, 537
Direct access, 119, 122
Editor, 55
Process image, 119, 122
exporting, 37, 47
Process image of the BackgroundTask, 129
exporting to program source files, 51
Identifiers
Features, 50
Rules for assigning names, 91
Importing, 37, 47
Importing
importing as MCC, 49
MCC chart as MCC, 49
Inserting, 44
MCC source file from XML data, 38
inserting commands, 55
MCC unit from XML data, 48
monitoring program execution, 553
Inheritance
moving to the foreground, 26
For technology objects, 102
Opening, 46
Initialization
Rename, 50
Time of the variable initialization, 108
representation in the Workbench, 25
Input field, 65
representing commands, 57
INT, 94
single step monitoring, 554
INT#MAX, 96
State, 556
INT#MIN, 96
Toolbar, 55
Integer
Tracking program execution, 553
Data types, 94
using in program source files, 51
using test functions, 40
wait commands, 53
K
zoom out/zoom in, 26
Know-how protection, 36 MCC command
Acknowledge specific technology object alarm, 242
Acknowledge technology object alarms, 239
L Activate measuring input, 372
Activate simulation for object, 200
LAD, 164
Activate trace, 208, 560
Ladder diagram, 165
Cam off, 468
Closing a branch, 167
Cam on, 454
description of elements, 166, 169
CASE statement, 227
Fundamentals, 577
Change operating mode, 207
Opens a branch, 167
Comment block, 209
Library, 176
Continue motion, 307
Compiling, 178
Continue path motion, 533
Technology package, 176
Continue task, 214
LREAL, 95
Deactivate measuring input, 379
Deactivate simulation for object, 202
Deactivate torque limitation, 333
Delete command queue, 355
W
wait commands
MCC chart, 53
Watch tables, 551
WORD, 94
Work area
Maximize, 26