Axis TechnologyFct en-US
Axis TechnologyFct en-US
Fundamental safety
instructions 1
04/2014
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
indicates that minor personal injury can result if proper precautions are not taken.
NOTICE
indicates that property damage can result if proper precautions are not taken.
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 product/system described in this documentation may be operated only by personnel qualified for the specific
task in accordance with the relevant documentation, in particular its warning notices and safety instructions. Qualified
personnel are those who, based on their training and experience, are capable of identifying risks and avoiding
potential hazards when working with these products/systems.
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 complied with. The information in the relevant documentation must be observed.
Trademarks
All names identified by ® are registered trademarks of 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.
Contents
This document is part of the System and Function Descriptions documentation package.
Scope
This manual is valid for SIMOTION SCOUT V4.4:
● SIMOTION SCOUT V4.4 (engineering system for the SIMOTION product range)
● SIMOTION Kernel V4.4, V4.3, V4.2, V4.1, V4.0
● SIMOTION technology packages CAM, CAM_ext and TControl in the version adapted to
the respective kernel
● Description
This chapter provides the user with an overview of the External Encoder Technology Object.
● External Encoder Fundamentals
This chapter explains the basic setting options and functions of the External Encoder
Technology Object.
● Configuring an External Encoder (online help only)
This chapter explains the configuration procedure with reference to various tasks.
● Programming External Encoders / Reference
This chapter explains the commands and functions in greater detail.
Index
● Keyword index for locating information
Additional information
Click the following link to find information on the the following topics:
● Ordering documentation / overview of documentation
● Additional links to download documents
● Using documentation online (find and search manuals/information)
http://www.siemens.com/motioncontrol/docu
Please send any questions about the technical documentation (e.g. suggestions for
improvement, corrections) to the following e-mail address:
[email protected]
My Documentation Manager
Click the following link for information on how to compile documentation individually on the
basis of Siemens content and how to adapt it for the purpose of your own machine
documentation:
http://www.siemens.com/mdm
Training
Click the following link for information on SITRAIN - Siemens training courses for automation
products, systems and solutions:
http://www.siemens.com/sitrain
FAQs
Frequently Asked Questions can be found in SIMOTION Utilities & Applications, which are
included in the scope of delivery of SIMOTION SCOUT, and in the Service&Support pages
in Product Support:
http://support.automation.siemens.com
Technical support
Country-specific telephone numbers for technical support are provided on the Internet under
Contact:
http://www.siemens.com/automation/service&support
Preface.........................................................................................................................................................3
1 Fundamental safety instructions.................................................................................................................15
1.1 General safety instructions..........................................................................................................15
1.2 Industrial security........................................................................................................................16
2 Part I Axis - Overview.................................................................................................................................17
2.1 General information about axes..................................................................................................17
3 Axis fundamentals......................................................................................................................................21
3.1 Axis technologies........................................................................................................................21
3.1.1 Overview of axis technologies.....................................................................................................21
3.1.2 Axis-drive relationship.................................................................................................................25
3.2 Axis types....................................................................................................................................27
3.2.1 Overview of axis types................................................................................................................27
3.2.2 Setting for the electric axis type..................................................................................................28
3.2.3 Setting for the hydraulic axis type...............................................................................................30
3.2.4 Setting for the virtual axis type....................................................................................................31
3.2.5 TypeOfAxis configuration data....................................................................................................31
3.3 Units and accuracies...................................................................................................................33
3.4 Axis settings / drive assignment..................................................................................................36
3.4.1 Overview of how to create an axis..............................................................................................36
3.4.2 Real and virtual axes...................................................................................................................36
3.4.3 Setting as a real axis with analog drive link.................................................................................38
3.4.4 Setting as a real axis with digital drive coupling..........................................................................39
3.4.4.1 Symbolic assignment and adaptation (as of V4.2)......................................................................39
3.4.4.2 Adapted data (SINAMICS S120 as of V2.6.2).............................................................................42
3.4.4.3 Communication and control word / status word..........................................................................45
3.4.4.4 Specific removal of drive enables in the event of a fault.............................................................48
3.4.4.5 Brake control...............................................................................................................................49
3.4.4.6 Specify control bits via the application (without TO check) [expert]...........................................50
3.4.4.7 Status diagram - PROFIdrive General State Diagram................................................................52
3.4.4.8 SIMOTION system behavior with a drive-autonomous OFF3 ramp............................................53
3.4.4.9 Technologies and telegram types...............................................................................................54
3.4.4.10 Coupling of digital drives.............................................................................................................55
3.4.5 Setting as a real axis with stepper drive C2xx (V3.2 and higher)................................................57
3.4.6 Stepper drives on IM174 and stepper drives with PROFIBUS interface.....................................57
3.4.7 Setting as a real axis with encoder signal simulation (V4.0 and higher).....................................58
3.4.8 Setting a non-exclusive drive assignment (as of V4.1 SP1)........................................................58
3.4.9 Setting as a real axis without drive (axis simulation)...................................................................59
3.5 Encoders and encoder parameters.............................................................................................62
3.5.1 Overview of encoders and encoder parameters.........................................................................62
3.5.2 Encoder for position....................................................................................................................62
3.5.3 Encoder for velocity.....................................................................................................................64
WARNING
Risk of death if the safety instructions and remaining risks are not carefully observed
If the safety instructions and residual risks are not observed in the associated hardware
documentation, accidents involving severe injuries or death can occur.
● Observe the safety instructions given in the hardware documentation.
● Consider the residual risks for the risk evaluation.
WARNING
Danger to life or malfunctions of the machine as a result of incorrect or changed
parameterization
As a result of incorrect or changed parameterization, machines can malfunction, which in
turn can lead to injuries or death.
● Protect the parameterization (parameter assignments) against unauthorized access.
● Respond to possible malfunctions by applying suitable measures (e.g. EMERGENCY
STOP or EMERGENCY OFF).
Note
Industrial security
Siemens provides products and solutions with industrial security functions that support the
secure operation of plants, solutions, machines, equipment and/or networks. They are
important components in a holistic industrial security concept. With this in mind, Siemens’
products and solutions undergo continuous development. Siemens recommends strongly
that you regularly check for product updates.
For the secure operation of Siemens products and solutions, it is necessary to take suitable
preventive action (e.g. cell protection concept) and integrate each component into a holistic,
state-of-the-art industrial security concept. Third-party products that may be in use should
also be considered. For more information about industrial security, visit http://
www.siemens.com/industrialsecurity.
To stay informed about product updates as they occur, sign up for a product-specific
newsletter. For more information, visit http://support.automation.siemens.com
WARNING
Danger as a result of unsafe operating states resulting from software manipulation
Software manipulation (e.g. by viruses, Trojan horses, malware, worms) can cause unsafe
operating states to develop in your installation which can lead to death, severe injuries and/
or material damage.
● Keep the software up to date.
Information and newsletters can be found at:
http://support.automation.siemens.com
● Incorporate the automation and drive components into a state-of-the-art, integrated
industrial security concept for the installation or machine.
For more detailed information, go to:
http://www.siemens.com/industrialsecurity
● Make sure that you include all installed products into the integrated industrial security
concept.
The following axis technologies are distinguished during the configuration phase:
● Drive axis
Motion control is implemented through a speed specification without position control.
Choosing this axis technology provides the minimum functionality for an axis.
The drive axis is referred to by the data type driveAxis in reference lists and when
programming.
● Position axis
Motions are position-controlled.
The position axis is referred to by the data type posAxis in reference lists and when
programming.
● Following axis
The following axis creates a grouping of the slave axis and synchronous object. Functions
such as master value coupling, synchronization and desynchronization, and gearing and
camming are provided via the synchronous object. The synchronous object can be
interconnected with different master values.
See the Technology Objects Synchronous Operation, Cam manual for information about
using the following axis.
The slave axis is referred to by the data type followingAxis and the synchronous object by
followingObjectType in reference lists and when programming.
● Path axis
The path axis type can be interconnected with a path object.
The path object can be used to calculate and traverse a linear, circular, or polynomial path
in the 2D/3D coordinate system for at least two path axes and up to three path axes. A
synchronous axis can be traversed in parallel to this.
The Technology Object Path Interpolation manual describes how to use the path axis with
the path object.
The path axis is referred to by the data type _pathAxis and the path object by the data type
_pathObjectType in reference lists and when programming.
All axis types can also be configured as virtual axes, i.e. they do not control a real drive but
are used as auxiliary axes for calculations, e.g. as a virtual master axis for several slave axes
(line shaft).
Advanced functions
Advanced functions on the axis include path interpolation, synchronous operation, measuring
inputs, and output cams. For more information refer to the manuals: Technology Object Path
Interpolation, Technology Object Synchronous Operation, and Technology Objects for Output
Cams and Measuring Inputs.
Standardized protocols are used for setpoint specification for digital drives and for
acknowledgements of encoder information.
Note
A SIMOTION axis only permits functions that are supported by the connected drive to be
executed. For further information, refer to the relevant product descriptions for the drives.
Operating modes
● Setpoint mode
Setpoint mode is the "normal" mode of the axis, in which motion commands are accepted
and executed.
● Follow-up mode
The setpoint is corrected to the actual value in follow-up mode. The actual position and
actual speed values will be updated. The axis can then also be tracked if it is moved by
external effects.
Motion commands are not accepted/executed.
● Simulation mode
The axis and position controller are active in simulation mode. Simulation mode is used to
test the programmed sequences in the control and the interaction between various axes,
for example, on the basis of trace recordings without moving the axis.
Simulation mode is only useful for real axes.
Two variants of simulation mode are possible:
– Program simulation mode
The setpoints are calculated according to the programming, but are not sent to the
position controller. The position controller setpoints remain set at the values they had
prior to switching to simulation mode.
See also Enabling/disabling program simulation (Page 362).
– Axis simulation mode
Unlike program simulation, it is possible to switch a real axis to axis simulation status
even if the drive is not connected. The position controller remains active and the drive
is simulated.
See also Setting as a real axis without drive (axis simulation) (Page 59).
The operating modes are set via commands.
Speed-controlled axis
The speed-controlled axis type is used when the position of the axis is of no importance. Only
the speed of rotation or velocity of an axis is specified, controlled, and monitored.
The speed is monitored if an encoder is configured on the axis; otherwise, the speed is not
monitored.
The position of the speed-controlled axis is not monitored or controlled.
The speed of rotation is indicated as a unit of velocity, such as rpm.
Operating modes
● Speed controlled/speed specification (setpoint mode)
● Simulation
● Follow-up mode
Functions
● Speed of rotation or velocity specified via
– Programmable value setting
– Free velocity profile (time-related)
● Travel with torque limitation
● Force/pressure control, force/pressure limiting (for hydraulic functions only)
Positioning axis
The positioning axis type is used to specify, control, and monitor the position of the axis.
The axis is moved to a programmed target position, which can be specified as a relative or an
absolute value. The direction of motion/direction of rotation can be specified for modulo axes.
For position-controlled positioning axes, position control is possible in the CPU or in the drive,
provided the drive supports the dynamic servo control (DSC) method.
The positioning axis in SIMOTION does not have a velocity controller. The speed controller
for an electric axis is in the drive.
The positioning axis can be interconnected with a path object for path-synchronous motion as
a master axis with a following axis or as an axis.
Operating modes
As for drive axis, plus
● Position control
Functions
● Speed of rotation or velocity specified via
– Programmable value setting
– Free velocity profile (time- or position-related)
● Travel with torque limitation
Following axis
The following axis type is used to determine the axis setpoint from a master value according
to conversion rules.
The synchronous object and slave axis are separate objects, but together they form a following
axis.
The "Axis" and "Synchronous Operation" technology objects have a reciprocal effect on each
other in terms of their operating modes and the effectiveness of the commands used.
For example, errors in the "Axis" technology object will directly affect the synchronous
operation functionality. When an axis stop response is triggered, the synchronous motion is
stopped as well.
Operating modes
As for positioning axis
Functions
In addition to the positioning axis functions, other functions are available via the synchronous
object:
● Gearing
● Camming
● Velocity gearing
● Dynamic synchronization/desynchronization
Other functions associated with the Following Axis technology object can be found in the
SIMOTION Technology Objects for Synchronous Operation, Cam Manual.
Path axis
The path axis type is used to travel along a path together with at least one additional path axis
on the path object.
Via the path object, a path can be generated for at least two and up to three path axes.
The setpoints generated for the axis on the path object are limited on the axis to the maximum
dynamic values of the axis.
The "Path Axis" and "Path Object" technology objects have a reciprocal effect on each other
in terms of their operating modes and the effectiveness of the commands used.
For example, errors in the "Path Axis" technology object will directly affect the generation of
motion on the path object. When a stop response is triggered on the axis, the path motion is
stopped as well.
Operating modes
As for positioning axis
Functions
In addition to the positioning axis functions, other functions are available via the path object:
● Linear path interpolation
● Circular path interpolation
● Polynomial path interpolation
The path axis contains the functionality of the following axis.
Other functions associated with the Path Interpolation technology object can be found in the
SIMOTION Technology Object Path Interpolation Manual.
See also
Setting and canceling the axis enables (Page 332)
6,027,21
8VHU 'ULYH
,QWHUIDFH $[LV72
HJ6,1$0,&6
See also
Axis with stepper motor connection (Page 235)
Overview of axis settings / drive assignment (Page 291)
Encoder interface using the PROFIdrive message frame (Page 68)
See also
Actual value measurement / actual value system (Page 132)
Figure 3-3 Axis type setting for an electric drive axis in SIMOTION SCOUT
Note
There is no force/pressure control for the electric drive axis. In this case, the mode is preset
to Standard and cannot be changed.
Figure 3-4 Axis type setting for an electric position or following axis in SIMOTION SCOUT
Mode Description
Standard Position control
Standard + pressure Position control and pressure control/pressure limitation
Standard + force Position control and force control/force limitation
See also
Overview of force/pressure control (Page 192)
Overview of force/pressure limiting (Page 202)
Overview of axis types (Page 27)
TypeOfAxis configuration data (Page 31)
Figure 3-5 Axis type setting for a hydraulic position or following axis in SIMOTION SCOUT
See also
Overview of force/pressure control (Page 192)
Overview of force/pressure limiting (Page 202)
Hydraulic functionality overview (Page 289)
Figure 3-6 Axis type setting for a virtual position or following axis in SIMOTION SCOUT
&ORVHGORRS
$[LVW\SH 9DOYHW\SHG
FRQWURO
6WDQGDUGSUHVVXUH
6WDQGDUGIRUFH
34YDOYH
+\GUDXOLF
(OHFWULFDO
6WDQGDUG
/LQHDUF
4YDOYH
3YDOYH
5RWDU\
9LUWXDO
7\SH2I$[LV
9LUWXDO$[LV [ [
[ [
5HDOB$[LV [ [ [
[ [ [
5HDOB$[LVB:LWKB6LJQDOB2XWSXW [
[ [
5HDOB$[LVB:LWKB)RUFHB&RQWUROD [ [ [
[ [ [
[ [ [
[ [ [
5HDOB4)$[LV [ [ [ [
[ [ [ [
5HDOB4)$[LVB:LWKB2SHQB/RRSB)RUFHB&RQWURO [ [ [ [
[ [ [ [
[ [ [ [
[ [ [ [
5HDOB4)$[LVB:LWKB&ORVHGB/RRSB)RUFHB&RQWURO [ [ [ [
[ [ [ [
[ [ [ [
[ [ [ [
5HDOB4)$[LVB:LWKB2SHQB/RRSB)RUFHB&RQWUROBRQO\E [ [ [ [
[ [ [ [
DQRWSRVVLEOHIRUVSHHGFRQWUROOHGD[LV
EVSHHGFRQWUROOHGD[LVRQO\
FQRWSRVVLEOHIRUVSHHGFRQWUROOHGD[LV
GK\GUDXOLFIXQFWLRQDOLW\RQO\
With the SIMOTION technology objects, such as the Axis technology object, physical variables
such as position, velocity, acceleration, time, force, and torque are represented in the SI or
US system of units (metric or imperial). The unit can be defined for all variables on the relevant
technology object during configuration, for example, for:
● unit of length
– mm
– m
– km
– inch
● unit of force
– N
– kN
– tfm
ton force (metric), or tonne force (metric), metric unit
– tfs
ton force (short) or ton force (US), US unit
The defined units are used to represent system variables and configuration data.
Changing the unit settings converts the current values of the system variables and
configuration data from the engineering system to the new units.
Note
Values in the command parameters are interpreted in the defined unit on the technology
object.
Numerical values in user programs (e.g. in the motion commands) are not converted to the
new units when the unit settings are changed!
In compound variables, e.g., controller gains, the units may differ from the units of the
individual variables, e.g., force in [kN] and force/time in [N]/[sec].
The internal computational accuracy and internal representation of the position can also be
defined in the unit configuration. It defines, among other things, the accuracy with which
specifications in system variables, configuration data, and command parameters are accepted,
processed, and displayed by the system.
Note
The positioning accuracy equates to one computational increment (increments/position),
i.e. positions can only be defined at integer increment values. Intermediate values arising
during interpolation and as a result of closed-loop control may also exist between the integer
increments.
The display resolution and the resolution when entering parameter values are independent
of the increments.
This definition refers to a specific basic unit of the position, depending on the axis type.
● Linear axis: Increments/mm
● Rotary axis/drive axis: Increments/degree
The control performs internal calculations in increments with reference to these basic units.
Prior to processing, values are converted to the internal representation.
Example 1
The following configuration has been defined:
● Linear axis
● Position unit: m
● Increments/position: 1000/mm
Calculation of setpoint accuracy during positioning:
Position: 1,000/mm corresponds to 0.001 mm = 10-6 m
Example 2
The following configuration has been defined:
● Linear axis
● Position unit: mm
● Increments/position: 1000/mm
● Leadscrew pitch: 10.3334 mm
● Modulo length: 20.3335 mm
Determination of the effective leadscrew pitch and modulo length:
Position accuracy: 0.001 mm
● Effective leadscrew pitch for TO: 10.333 mm
● Effective modulo length: 20.333 mm
If the leadscrew pitch and the modulo length have to be mapped precisely, the positioning
accuracy on the TO has to be increased (incr/mm).
Setting options
In SIMOTION, you can define the axes as:
● Real axis
This axis features motion control, as well as drive and encoder interfaces.
● Real axis with force/pressure control
This axis features motion control, drive and encoder interfaces, and an interface for force/
pressure measurement and closed-loop control.
For force/pressure control, the input for the force/pressure measurement must also be
configured.
● Virtual axis
This axis features reference variable generation, but does not have closed-loop control or
a drive or encoder interface. The setpoints and actual values are always identical. A virtual
axis is generally used as an auxiliary axis, in order to generate the setpoints for several
real axes as the master axis, for example.
The controller-specific enables are set by default.
See also Overview of axis types (Page 27).
0RWLRQFRQWURO
5HIHUHQFHYDULDEOHJHQHUDWLRQ
3RVLWLRQ 'ULYH
3URJUDP
,QWHUSRODWLRQ FRQWURO ILQDOFRQWURO
LQWHUIDFH
VHUYR OLQJHOHPHQW
9LUWXDOD[LV
5HDOD[LV
Figure 3-8 Difference between real and virtual axis (position axis example)
For real axes, the interface to the drives/final controlling elements is set.
For the hydraulic functionality, the analog output is set for manipulated variable value Q (flow
rate) and, if applicable, for manipulated variable value F (force/pressure limiting). This makes
it possible to connect valves with an analog manipulated variable.
If DSC (Dynamic Servo Control) is set for digital drives with a PROFIdrive interface, a position
controller is executed in the drive (e.g. in the closed-loop speed control cycle clock).
If symbolic assignment is used (default setting as of V4.2), DSC is selected automatically.
For interconnection of the axis-specific inputs/outputs (encoder, analog output, enables), see
the C2xx operating instructions.
In addition to the option of operating analog axes on the onboard inputs of the C2xx, the
PROFIBUS ADI4 and IM174 modules are available for use in all platforms as interfaces for
analog drive links. From the SIMOTION perspective, these modules behave like digital drive
links; see Coupling of digital drives (Page 55).
The enable signal to the drive is activated with _enableAxis() (enableMode=ALL); the enable
is displayed by the system variables actormonitoring.driveState = ACTIVE and
actormonitoring.power = ACTIVE.
See also
Coupling of digital drives (Page 55)
Requirement
The following components support adaptation and symbolic assignment:
● SIMOTION C, P and D devices, with firmware as of SIMOTION V4.2
● SINAMICS S110 drives, firmware V4.x with SINAMICS as of V4.3
● SINAMICS S120 drives, firmware V2.x with SINAMICS as of V2.6.2
● SINAMICS S120 drives, firmware V4.x with SINAMICS as of V4.3
The following settings can be made in the Drive assignment dialog for the axis configuration:
● Assign drive
All of the drives configured in SCOUT or HW Config are displayed as assignment partners.
To interconnect a drive, click a drive object in the table in the Drive assignment dialog.
The hardware addresses and telegrams are determined automatically by the system.
● Assign later
Enables the axes to be configured independently on the SIMOTION side and the drives to
be configured independently on the SINAMICS side.
This means, for example, that:
– The drives can be configured by a drive expert and tested and optimized using the drive
control panel
– The PLC and Motion Control functions can be configured by a programmer using
technology objects (e.g. Axis technology object)
– The technology objects can then be symbolically assigned to the drive objects at a later
point in time via an assignment dialog
● Create drive
From the Assign dialog, a new drive can be created on an existing drive unit directly (e.g.
S120 CU320-2 or SINAMICS Integrated) and the axis assigned. As a result, it is not
necessary to configure a drive before creating an axis.
The TO axis, TO external encoder, TO output cam, TO cam track, and TO measuring input
support symbolic assignment. Furthermore, the onboard I/O of a SIMOTION D, a SINAMICS
S120 control unit, and even selected terminal modules can be interconnected symbolically
(e.g. for hardware-limit-switch inputs on the technology object).
The list of addresses in the All addresses view provides an overview of the assignments of all
the Axis technology object interfaces. It is also possible to change the assignments from this
view via the Assign dialog (... button).
Note
The previous methods of drive and axis configuration continue to be available. Symbolic
assignment must be deactivated in such cases.
Symbolic assignment is used by default for newly created projects.
If projects < V4.2 are converted upwards, symbolic assignment is deactivated by default and
must be activated if required.
Symbolic assignment can be activated/deactivated in SIMOTION SCOUT via the Project >
Use symbolic assignment menu.
Adaptation
In addition to the benefits offered by symbolic assignment, configuration is also made easier
as of SIMOTION V4.2 with the addition of automatic adaptation of SINAMICS S120 data.
Drive and encoder data as well as reference variables, maximum values, torque limits and
granularity for SINAMICS S120 torque reduction, are taken over automatically for the
configuration data of the SIMOTION Axis and External encoder technology objects. These
data no longer have to be entered in SIMOTION.
Events and commands after which an adaptation is carried out:
● Switching the controller on (ramp-up)
● Download
● STOP-RUN transition, if no adaptation has been made yet
● Restarting a TO
● _activateTO() command
● _enableAxisInterface() command if the status "not adapted" is present at the interface with
non-exclusive drive assignment
● _adaptAxisConfigData() and _adaptExternalEncoderConfigData() user commands
● Drive data set changeover (and encoder changeover does not cause adaptation)
The adaptation of relevant drive data is activated automatically as of SIMOTION V4.2 in
conjunction with SINAMICS S120 as of V2.6.2. If projects < V4.2 are converted upwards,
automatic adaptation is deactivated by default. You can activate automatic adaptation if
required via the expert list in the configuration data element
TypeOfAxis.DriveControlConfig.dataAdaption. You can activate automatic adaptation of
encoder data in the configuration data element
TypeOfAxis.NumberOfEncoders.Encoder_n.dataAdaption.
The configured data initially contains default values for the values to be adapted. Adaptation
may result in a difference between the configured values and the adapted values. In the case
of a Copy current data to RAM, the TO would, therefore, be displayed as inconsistent in the
project navigator.
When executing the functions Copy current data to RAM and Copy RAM to ROM, the difference
will be detected and an upload of the adapted data into the SCOUT project will be executed.
However, this can be deselected in the dialog box.
Table 3-8 Resolution of the reference and maximum values for B+, B-, Madd (technology data block)
Table 3-9 Adaptation of the parameters for specific DO types and availability in the drive
*) The data width of the absolute value (without fine resolution) is a result of the sum of the bits for
representing the number of encoder pulses and the bits for representing the maximum number of
revolutions that can be registered by the encoder according to the type plate.
Example:
4,096 pulses/rev (= 12 bit) and maximum of 4096 revolutions that can be registered results in a 12 + 12
= 24-bit data width of the absolute value.
*) The data width of the absolute value (without fine resolution) is a result of the sum of the bits for
representing the number of encoder pulses and the bits for representing the maximum number of
revolutions that can be registered by the encoder according to the type plate.
Example:
4,096 pulses/rev (= 12 bit) and maximum of 4096 revolutions that can be registered results in a 12 + 12
= 24-bit data width of the absolute value.
Control word
Drive enables are set in conformity with PROFIdrive Profile V3.1 via control word STW1.
Table 3-14 Meaning of the control word bits STW1 bit 0 – STW1 bit 6
You can find a detailed description of the bits in status and control words in the SINAMICS
List Manuals.
The control word from the drive protocol is displayed in the system variable driveData.STW
(STW1 corresponds to STW[0]).
The states are also displayed in the SCOUT at Drives - Drive_x - Diagnosis - Control/status
words.
Status word
Status word ZSW1 contains status information of the drive in accordance with PROFIdrive
profile V3.1.
Table 3-15 Meaning of the status word bits ZSW1 bit0 – ZSW1 bit 15
The status word from the drive protocol is displayed in the system variable driveData.ZSW
(ZSW1 corresponds to ZSW[0]).
See also
Drive communication based on DPV1 services (Page 229)
Alarm reactions (Page 375)
The bits selected in the screen form will be reset in the control word for the
RELEASE_DISABLE local alarm response.
For the local RELEASE_DISABLE alarm response, all enables to the drive will be removed for
system setting. Before the enables in STW1 bit 0 - STW1 bit3 are removed, status word
ZSW1 bit 10 = 0 (n = 0 in the drive) will be awaited in accordance with the general state diagram
Note
At a minimum, the canceling of one enable from bit 0 to bit 6 must be set.
If the value 0 is entered in releaseDisableMode in bit 0 to bit 6, all enables are canceled.
See also
Alarm reactions (Page 375)
Please note that when using the extended brake control, the feedback signal "Brake released"
is not sent to the ZSW[0] Bit2 (operation enabled), and instead only the brake opening time is
taken into account.
When implementing a brake control in the drive, the enable signals must be specifically revoked
in the case of _disableAxis() and the RELEASE_DISABLE local alarm response (see above),
e.g.:
● First, revoke OFF3 (STW1 bit 2)
● When the brake is closed, disconnect the power (revoke STW1 bit 1)
For information on defining the reaction to technological alarms, refer also to Chapter
Adjustable response to RELEASE_DISABLE (Page 378).
3.4.4.6 Specify control bits via the application (without TO check) [expert]
As of V3.2, it is also possible to specify Bit0 - Bit6 in STW1 specifically via _enableAxis()
(enableMode:=BY_STW_BIT) and _disableAxis() (disableMode:=BY_STW_BIT). Each bit to
be set/canceled is then specified in the STWBitSet parameter. For this setting, the axis TO
checks also for single bit assignment whether the specifications of the PROFIdrive state
machine are observed.
If the axis is switched on from the S1 state, in accordance with PROFIdrive, bit 0 of the initial
state 0 for STW1 is required (pulse suppression and ready-to-start status). If STW1 bit 0 in
state S1 is not set to 0 (as result of enables being canceled using single-bit assignment or the
cancelation of some enables with the RELEASE_DISABLE alarm reaction), STW1 bit 0 must
be set to 0 by means of single-bit assignment in the _disableAxis() command or
_disableAxis() with disableMode:=ALL. If this is not the case, a switch on of the axis will be
rejected with alarm 20005: Type 1 reason 0x0100h (control signals to the PROFIdrive state
machine specified incorrectly).
The status in actorMonitoring.power is displayed as specified in STW1 in versions up to and
including V3.1. As of V3.2, it is displayed as per Bit0 - Bit2 in ZSW1.
The status indication in actorMonitoring.driveState is made in accordance with the
specifications in STW1 bit 4 - STW1 bit 6, and will not be derived from the drive status.
The control word and the status word from the drive protocol are indicated in the
drivedata.stw and drivedata.zsw system variables.
n-actual from the drive protocol is indicated in the actorData.actualspeed system variable (as
of V4.0).
Specify control bits in STW1 via the application (without checking technology object) [expert]
As of V4.1 SP2, the _disableAxis()
(disableMode:=STATE_MACHINE_CONTROL_BY_APPLICATION) setting can be used to
directly specify the control bits in STW1 bit 0 ‑ STW1 bit 6 using the _setAxisSTW() command
without the TO testing correctness in accordance with the PROFIdrive profile state machine.
This makes it possible to switch a drive on and off that does not behave conform to the
PROFIdrive profile state machine. A traversing of the drive using the TO or a motion variable
generation using the TO for the drive is not possible in this status.
Another possible use is, for example, the stopping of large drives with closed brake in the
magnetized state. If the speed controller enable is removed, after the re-setting of the speed
controller enable, it is possible to continue motion again without switching the drive on again
and so needing to pass through the S1 to S4 states.
The position controller must be switched to 'tracking' (servoControlMode=INACTIVE). This
setting places the control indicator variable to INACTIVE, i.e. no movement commands can
be performed. For independent drive transitions, e.g. S4->S5, no 20005 alarm will be
generated in this state. The STATE_MACHINE_CONTROL_BY_APPLICATION mode is
switched off with the _enableAxis() / _disableAxis() commands, with another setting of the
mode and with _resetAxis().
In the STATE_MACHINE_CONTROL_BY_APPLICATION mode,
● The actorMonitoring.driveState and actorMonitoring.power system variables indicate
INACTIVE.
● The setting/resetting of the STW1 bit 0 - STW1 bit 6 bits is permitted directly using the
_setAxisSTW() command.
● A fault message for the drive can be reset only using the TO control with
_resetAxisError(). The control bit STW1 bit 7 (reset fault memory / fault acknowledge)
remains in TO administration, a handling of STW1 bit 7 using _setAxisSTW() is not possible.
This means a fault is reset uniformly using the TO, whereby the acknowledgement can be
made using SCOUT/HMI or the user program.
● The TO axis no longer performs any monitoring for drive failure / independent disable of
the drive. Other monitoring functions remain active, e.g. encoder monitoring, sign-of-life
monitoring, drive error 20005: Reason 1 will be signaled and entered in the diagnostic buffer.
● All alarms are performed with RELEASE_DISABLE response as
OPEN_POSITION_CONTROL response.
See also
Alarm reactions (Page 375)
Power supply on
Standstill detected
STW1 bit0=false STW1 bit1=false Coast Stop OR
enableAxis POWER AND STW1 bit1=true OR STW1 bit1=false STW1 bit3=false
OR AND STW1 bit2=true STW1 bit2=false
enableAxis ALL
67:ELW[\ 7KHVHFRQWUROZRUGELWVPXVWEHVHWE\WKHFRQWUROOHU
=6:ELW[\ 7KHVHVWDWXVZRUGELWVLQGLFDWHWKHFXUUHQWVWDWXV
$EEUHYLDWLRQSH SXOVHVHQDEOHGRSWLRQDOQRWVXSSRUWHGE\6,027,21
6WDQGVWLOOGHWHFWHGDQLQWHUQDOUHVXOWRID6WRSRSHUDWLRQ
ჀჀჀಹ7KHQXPEHURISRLQWVDWWKHLOOXVWUDWHGWUDQVLWLRQVGHWHUPLQHVWKHSULRULW\
7KHPRUHSRLQWVWKHKLJKHUWKHSULRULW\
:LWK6,027,219DQGKLJKHUWZRYDULDWLRQVDUHSRVVLEOHIRUWKHSDUDPHWHUDVVLJQPHQWRIWKH
BHQDEOH$[LV FRPPDQG
32:(5'5,9($//7KH6WDWH0DFKLQHLVFRQWUROOHGE\WKH$[LVWHFKQRORJ\REMHFW
%<B67:B%,77KH6WDWH0DFKLQHLVFRQWUROOHGE\WKHXVHUSURJUDP
7KHGULYHVWDWHV\VWHPYDULDEOHLVDFWLYHLQDOOVWDWHV66LI67:ELWVWRDUHVHWWRWUXH
See also
Safe Stop 1 (SS1)As of SIMOTION V4.1 (Page 271)
Safe Stop 2 (SS2)As of SIMOTION V4.1 (Page 272)
Table 3-16 Technologies and telegram types supported for real axis with digital drive link
Information on the activation of technology data blocks can be found in Chapter Technology
Data.
See also
Technology data (Page 183)
Separation of reference value and maximum value (as of V4.0 through < V4.2)
With V4.2 and higher, the reference/maximum velocity, reference/maximum torque, and
reference/maximum force are adapted by the SINAMICS drive during runtime by default. The
following is not relevant in this context.
For digital drive coupling, the reference value for sending the speed or velocity to the drive can
be configured independently of the maximum value. Alternatively, the maximum speed/velocity
can still be used as the reference value. This can be defined accordingly in the
driveData.speedReference or linearMotorDriveData.speedReference configuration data
element.
When a new axis is created and coupled with a digital drive, the normalization speed/velocity
is pre-selected as the reference value by default in the axis wizard. The maximum speed/
velocity can be entered independently.
With SIMODRIVE and MASTERDRIVE, this data must be entered manually. You must make
sure that the reference values are the same on the drive and the controller.
In all cases, you still have the option of setting the maximum velocity as the reference velocity.
Figure 3-13 Setting the normalization speed and maximum motor speed
In the axis wizard, the drive settings are displayed as default settings.
For a coupling with SINAMICS, you can use the Data transfer from the drive button to transfer
the normalization speed/velocity and the maximum speed/velocity from the offline
configuration of the drive. If the relevant drive parameters are modified online, they must be
uploaded and saved to the project prior to the data transfer.
For firmware versions < V4.2, see Drive communication based on DPV1 services (Page 229).
The following control units support time synchronization:
● SINAMICS Integrated of the SIMOTION D
● CX32/CX32‑2 controller extensions
● SINAMICS S120 CU310, CU310‑2, CU320, CU320‑2 Control Units connected via
PROFIBUS or PROFINET
Requirement: SIMOTION V4.4 and higher
See also
Overview - Support of SINAMICS Safety Integrated Functions on the Axis technology object
(Page 251)
Adjustable response to RELEASE_DISABLE (Page 378)
Drive communication based on DPV1 services (Page 229)
Overview of torque limiting via torque reduction (Page 174)
3.4.5 Setting as a real axis with stepper drive C2xx (V3.2 and higher)
Possible drive types for stepper motors:
● Stepper motor with encoder
● Stepper motor without encoder
In this case, stepper motor is entered as the encoder mode and the encoder side is not
used.
When you select stepper motor without encoder on drive 1, encoder input 1 is assigned
automatically since this data is traced back to it within the system. Drive 1 cannot be selected
if the encoder input is no longer free.
For stepper motors, you can enter the number of steps and the stepping rate. The speed of
rotation is then calculated and displayed.
3.4.6 Stepper drives on IM174 and stepper drives with PROFIBUS interface
The IM174 module is available as the interface for stepper drives for all SIMOTION platforms.
From the SIMOTION perspective, stepper drives linked via IM174 behave like digital drive
links.
Alternatively, stepper drives can be linked with a PROFIBUS interface if they support the
PROFIdrive profile.
You can find more information in the Distributed I/Os IM 174 PROFIBUS Module Manual.
See also
Coupling of digital drives (Page 55)
3.4.7 Setting as a real axis with encoder signal simulation (V4.0 and higher)
With this setting, no drive/actuator is connected via the Axis technology object. An angle signal
is output directly to a third-party control via the SINAMICS TM41 peripheral module (encoder
simulation).
The output angle signal behaves just like the signal from an incremental encoder.
Enable signal
The enable signal to the drive is activated with _enableAxis() (enableMode=ALL); the enable
is displayed by the system variables actormonitoring.driveState = ACTIVE and
actormonitoring.power = ACTIVE.
See also
Encoder signal output (V4.0 or later) (Page 147)
See also
Non-exclusive encoder assignment (as of V4.1 SP1) (Page 78)
0RWLRQFRQWURO
5HIHUHQFHYDULDEOHJHQHUDWLRQ
3RVLWLRQ 37
3URJUDP VLPXODWLRQLQWKH
,QWHUSRODWLRQ FRQWURO FRQWUROOHU
LQWHUIDFH
VHUYR
9LUWXDOD[LV
5HDOD[LV
Figure 3-14 Axis simulation functional scheme
The dynamic behavior of the axis is simulated with the total time constant via an internal PT1
element.
The axis is thus available for the user program in the basic functions (e.g. setting of enables,
execution of motion commands), but the manipulated variable is not output to the connected
or missing drive.
There is no need for precise dynamic modeling of signals.
The simulation of an axis with an "analog output via I/O peripheral" drive assignment is not
supported.
The complete axis configuration is kept when setting the simulation status and is still available
without any changes after switching back in the expert list to the normal mode status.
TypeOfAxis.SetPointDriverInfo.mode = SIMULATION
TypeOfAxis.SetPointDriverInfo.outputNumberOnDevice =0
TypeOfAxis.NumberOfEncoders.Encoder_1.encoderIdentification = SIMULATION
TypeOfAxis.NumberOfEncoders.Encoder_1.DriverInfo.encoderNumberOnDevice =0
TypeOfAxis.NumberOfDataSet.DataSet_x.ProcessModel.T1 (V4.0 and higher) Time constant T1
TypeOfAxis.NumberOfDataSet.DataSet_x.ProcessModel.T2 (V4.0 and higher) Time constant T2
Comments
● All real axis types can be set to SIMULATION.
● The process response/axis response is simulated from processModel.T1 and
processModel.T2 via the PT1 element with the total time constant (T1+T2).
● Homing to the encoder zero mark and the external zero mark is not possible in Axis
simulation mode.
● Output cam functions are executed.
● Only measuring input via time stamp is possible.
● If an axis with the DSC setting is set to SIMULATION, the position controller is calculated
in the position control cycle clock in the control/simulation driver, i.e. it may be necessary
to cancel the gain and adjust the following error monitoring.
● Unlike program simulation, the drive does not need to be present and the position controller
remains active with simulated drive behavior.
● The simulation mode is provided for actuators and sensors. Technology data (such as the
technology data block) of an axis cannot be simulated. Deactivate them when the axis is
switched to simulation mode.
● The _setAxisSTW() command is not active in simulation mode.
As of SIMOTION V4.2
Note
A script is available to switch the axis simulation on and off for axes with and without symbolic
drive assignment. This script can be integrated into a project via the ProjectGenerator
(accessible from SCOUT). You can find the script in SIMOTION Utilities & Applications, which
is part of the scope of delivery of SIMOTION SCOUT.
See also
Enabling/disabling program simulation (Page 362)
Coupling of digital drives (Page 55)
See also
Data set overview (Page 206)
● Incremental encoder
On the controller side, only the difference between two read encoder values is evaluated.
Values are read out in the servo cycle clock at equal intervals. In order to determine the
mechanical axis position, the axis must be homed each time the system is switched on.
Position zero is displayed after it is switched on.
● Absolute encoder
This encoder supplies the absolute value or, in the case of an absolute value in the
PROFIdrive message frame, the absolute value is read one time after the system is
switched on. After this, the actual value is processed in the same way as with the
incremental encoder.
The absolute value supplied by the encoder is assigned to the associated mechanical axis
position by means of the absolute encoder adjustment. The absolute encoder adjustment
occurs only one time, and the controller remembers the compensation value/absolute
encoder offset even after it is powered on/off.
Certain situations, such as an encoder failure, a restart, etc., can require an absolute
encoder re-adjustment. For more information, refer to the chapter titled Absolute encoder
homing/Absolute encoder adjustment.
The following absolute encoder types are differentiated:
– Absolute encoder with absolute encoder setting
The measuring range of this encoder is greater than the axis traversing range.
The axis position results directly from the current encoder value since this can be
uniquely mapped.
An offset may be entered - it is not necessary to hold overflows within the controller.
There are no overflows of the absolute actual value stored when SIMOTION is switched
off. The next time it is switched on, the actual position value is generated from the
absolute actual value only.
– Absolute encoder with cyclic absolute encoder setting
The axis traversing range is greater than the range of values measured by the encoder,
and the encoder returns an absolute value within its measuring range.
The controller also counts the number of measuring ranges internally in order to hold a
unique actual axis position beyond the range of measured values.
When SIMOTION is switched off, the overflows of the absolute actual value are stored
in the retentive memory area of SIMOTION. The next time it is switched on, the stored
overflows are taken into account for the calculation of the actual position value.
The actual position of the axis is passed internally in a 64-bit integer variable.
Example of a single-turn encoder with 4,096 increments:
The position of the encoder is mapped in bits 0 to 11, and the number of overflows of
the encoder range in bits 12 to 63.
Example of a multi-turn encoder with 4,096 x 4,096 increments:
The position of the encoder is mapped in bits 0 to 23, and the number of overflows of
the encoder range in bits 24 to 63.
The overall position of the axis is retained after the controller is switched off. When the
controller is switched on again, if the actual encoder value does not match the actual
position stored in the controller, it will be corrected to a maximum of ± ½ the encoder
measuring range.
Note
If the axis/encoder is moved by more than one half the encoder measuring range with
the controller switched off, the actual value in the controller no longer matches the real
axis.
See also
Overview of homing (Page 87)
Options are:
● Incremental encoders/absolute encoders with number of increments or pulses/revolution
(for electric axes)
● Interval counters (for hydraulic axes)
● Encoders providing the velocity as a direct value in the I/O area (for hydraulic axes)
● Read-out of the speed from the PROFIdrive message frame and provision for technological
functionality, e.g. velocity monitoring
Fine resolution
The fine resolution of the actual value is the interpolation result of a signal period of an encoder
pulse.
The fine resolution steps are generated by the measuring electronics from the raw signal of
the encoder pulses. Factors as a multiple of 2 are possible.
Example:
Data width of absolute value (without fine resolution) for absolute encoders
The data width of the absolute value (without fine resolution) is a result of the sum of the bits
for representing the number of encoder pulses and the bits for representing the maximum
number of revolutions that can be registered by the encoder according to the type plate.
Example:
4,096 pulses/rev (= 212) and a maximum of 4,096 revolutions that can be registered yields a
12 + 12 = 24-bit data width of the absolute value.
Configuration data:
● AbsEncoder.absDataLength
Encoder type Encoder mode Fine resolution (Gn_XIST1) Fine resolution on the
absolute value (Gn_XIST2)
Onboard C2xx
Incremental encoder Rectangle 4 -
Stepper motor 1 -
Encoder type Encoder mode Fine resolution (Gn_XIST1) Fine resolution on the
absolute value (Gn_XIST2)
Absolute encoder SSI 1 1
Encoder in PROFIdrive axis telegram
(applies to SINAMICS, SIMODRIVE 611U and MASTERDRIVES)
Incremental encoder Rectangle 2048 -
Sinusoidal 2048 -
Resolver 2048 -
Endat 2048 -
Absolute encoder Endat 2048 512
SSI 1 1
...Cyclic absolute Resolver 2048 512
(only pole pair number 1
possible)
Endat 2048 512
SSI 1 1
PROFIBUS absolute encoder in PROFIdrive encoder telegram
Absolute encoder SSI 2(32 - Number of data bits) 1
These settings are aligned to the default parameter settings of the corresponding Siemens
devices. If the behavior is different, alignment with the encoder should be performed by making
a corresponding entry in the configuration data of the technology object or in the parameters
of the drive or encoder. Depending on the device it may be necessary to assign the
corresponding parameters in the drive or encoder with the value of the exponent (shift factor).
Device-specific features for Masterdrives with Endat encoders:
For Masterdrives with Endat encoders, Endat or SSI can be selected in the encoder mode.
However, the fine resolution must always be configured in the axis wizard of the Axis or External
Encoder technology object differently from the default settings (see Encoder list (Page 68)).
Default setting:
● Fine resolution (~Encoder.~ResolutionMultiplierCyclic) = 0
● Fine resolution of the absolute encoder in Gn_XIST2
(AbsEncoder.absResolutionMultiplierAbsolute) =0
● If encoderMode=PROFIDRIVE, the values are evaluated as available, since the correct
values are adapted by the drive. A default setting of 0 is not permitted for this setting.
See also
Encoder interface as a direct value in the I/O area (Page 73)
Encoder list (Page 68)
See also
Encoder list (Page 68)
Encoder parameters that are entered subsequently in the SIMOTION axis wizard must match
the encoder parameters in the drive.
Note
For SINAMICS drives with earlier versions than SIMOTION V4.2, it is possible to transfer the
encoder parameters from the drive. When assigning encoders in the axis wizard, click Data
transfer from the drive.
If you are using a DRIVE-CLiQ component with electronic type plate (e.g., SMI motor, DRIVE-
CLiQ encoder) you must first upload the parameters from the drive and save them in the
project (online commissioning). If the online commissioning is carried out at a later point, you
can work with the default settings of the axis wizard in the meantime during offline
configuration. Once online commissioning is complete, upload the drive parameters, save
them in the project, run the axis wizard again, and perform the Data transfer from drive
function.
If you change the encoder data in the drive, you must perform an alignment again in the axis
wizard.
Inconsistent configuration
In the event of errors or inconsistencies between the configuration data in SIMOTION and the
parameter settings for the encoder in the drive, a technological alarm is triggered as soon as
an online connection is established between the control and the drive/encoder.
As off SIMOTION Runtime V4.4: Technological alarm 20025 with applicable reason
In SIMOTION Runtime < V4.4: Technological alarm error 20005: Device type:2, log.address:
1234 faulty. (Bit:0, reason: 0x80h)
For PROFIdrive encoders and encoders on the axes according to PROFIdrive, a comparison
of the parameter assignment takes place via the following drive/encoder parameters:
P979 (SensorFormat) according to PROFIdrive, which contains information about the type,
resolution, and shift factors.
For drives or encoders that do not support parameter P979, the configuration data is evaluated
as valid without alarm message.
,QFUHPHQWV )LQHUHVROXWLRQ
Figure 3-15 Example composition of the 32-bit encoder data of the cyclic actual value Gn_XIST1
Example of for an encoder with number of encoder pulses = 2048 (data width, 11 bits)
The fine resolution in SIMOTION in the Inc/AbsResolutionMultiplierCyclic configuration data
element is set to the default setting 0 and is thus evaluated as a default fine resolution of 2048
(the default value depends on the encoder mode setting; see Table Default settings for fine
resolution in SIMOTION).
SIMODRIVE 611U:
SIMOTION 611U
Encoder pulses per revolution 1)
=2048 P1007 =2048
Fine resolution 2) =0 (≡ 2048) P1042 =11
1)
Inc/AbsEncoder.Inc/AbsResolution
2)
Inc/AbsEncoder.Inc/AbsResolutionMultiplierCyclic
SINAMICS:
SIMOTION SINAMICS
Encoder pulses per revolution 1)
=2048 P408 =2048
Fine resolution 2) =0 (≡ 2048) P418 =11
1)
Inc/AbsEncoder.Inc/AbsResolution
2)
Inc/AbsEncoder.Inc/AbsResolutionMultiplierCyclic
Note the information about the SINAMICS alignment.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Figure 3-16 Example composition of the 32-bit encoder data of the absolute actual value Gn_XIST2
The number of bits resulting from the data width of the absolute value (without fine resolution)
and the number of data bits for the fine resolution of the absolute actual value must not exceed
32. If it is less than 32, leading zeroes are added in Gn_XIST2.
According to the setting above, the absolute value in Gn_XIST2 has a right-justified alignment
and therefore a fine resolution of the absolute value in Gn_XIST2 of 0 bits (20 = 1 as a factor).
Note
An encoder in a PROFIdrive axis telegram can only be used for an external encoder TO or
for the encoder of a TO axis in cyclical operation if a TO axis is also created on the PROFIdrive
telegram and is not deactivated.
See also
Coupling of digital drives (Page 55)
Encoder list (Page 68)
For the Left-justified/Right-justified without sign setting, the measured value for the setting of
the encoder resolution/measured value width is processed as follows:
● At ≤16Bit the measured value left-justified/right-justified is mapped to the least-significant
byte 1 and byte 2 of an internal data value of the DINT type. In this process, the missing
16 bits minus the measured value width of the least-significant byte 1 and byte 2 are right/
left-padded with zeros and the most-significant byte 3 and byte 4 are filled with zeros.
● > At 16Bit the measured value left-justified/right-justified is mapped to an internal data value
of the DINT type. In this process, the missing 32 bits minus the measured value width are
right/left-padded with zeros.
As this mapped measured value is tested against the maximum limits of the data type DINT,
the encoder resolution/measured value width is limited to maximum 31 bits. This means
the measuring range is limited to maximum 50% of the measured value width.
and
0 0 0 0 0 0 0 0 1. . 1. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >16
x x x x x x x x x. . x. x x x x x x x x x x x x x x
Figure 3-17 Masked reading of the analog IO value left-justified without sign
and
0 0 0 0 0 0 0 0 1. . 1. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >16
x x x x x x x x x. . x. x x x x x x x x x x x x x x
Figure 3-18 Masked reading of the analog IO value right-justified without sign
For the Left-justified/Right-justified without sign setting, the measured value for the setting of
the encoder resolution/measured value width is processed as follows:
● At <16Bit the measured value left-justified/right-justified is mapped to the least-significant
byte 1 and byte 2 of an internal data value of the DINT type. For left-justified, the missing
15 bits minus measured value width of the least-significant byte 1 and byte 2 are right-
padded with zeros and the sign bit is extended left to bit 32. For right-justified, the sign bit
is padded left to bit 32.
● At ≥16Bit the measured value left-justified/right-justified is mapped to an internal data value
of the DINT type. For left-justified, the missing 31 bits minus measured value width are right-
padded with zeros. For right-justified, the sign bit is padded left to bit 32.
1
0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Hidden data bits
15 1 Sign bit
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 not
1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>0 or >0
<16 and
x x x x x x x x x x x x x x x x and 0 0 Actual value
Raw value
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >15
x x x x x x x x x x x x x x x x x x x x x x x x
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15
and
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31
Figure 3-19 Masked reading of the analog IO value left-justified with sign
1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 Hidden data bits
15 1 Sign bit
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 not
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
31
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>0 or >0
<16 and
x x x x x x x x x x x x x x x x and 0 0 Actual value
Raw value
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >15
x x x x x x x x x x x x x x x x x x x x x x x x
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15
and
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31
Figure 3-20 Masked reading of the analog IO value right-justified with sign
Actual velocity
The actual value information can include the number of pulses between two scans or,
alternatively, the time interval between two sequential pulses. This type of encoder is used,
for example, to measure actual velocities with the hydraulic axis functionality.
Example: Use of an ET 200S, COUNT module
any encoder/I/O value (for which there does not exist a TO interface) via the user program and
to apply it to the axis as an actual value.
This behavior is defined in
TypeOfAxis.numberOfEncoders.Encoder_x.encoderIdentification=SET_ACTUAL_VALUE.
This encoder type can be defined on the axis and the external encoder.
The update rate for the default setting (updateCycle) and the maximum number of servo clocks
(maxFailures) in which the system variable is not written are specified in the
StructAxisSensorSetActualValueConfig configuration data structure.
The sensorSettings.actualValue system variable must be provided in the cyclical level set in
the typeOfAxis.NumberOfEncoders.Encoder_x.SensorSetActualValue.updateCycle
configuration data. If, for example, in the user program of the IPOsynchronousTask, the actual
position is written cyclically to sensorSettings.actualValue, ~.updateCycle = IPO must be set.
The value specified in sensorSettings.actualValue is accepted using the set refresh rate
(SensorSetActualValue.updateCycle) and extrapolated linearly in between.
SensorSetActualValue.maxFailures always refers to the servo clock. The
SensorSetActualValue.updateCycle setting does not have any affect.
Example:
If the sensorSettings.actualValue system variable is updated in the IPO cycle clock and
IPO:Servo is set 2:1, SensorSetActualValue.maxFailures = 1 must be set.
See also
Setting a non-exclusive drive assignment (as of V4.1 SP1) (Page 58)
The following options are available on the encoder side of a real axis:
● Setting of encoder mounting method
● Consideration of measuring gear
● Setting of distance per revolution
● Settings for load compensation
● Consideration of the count direction (inversion of actual position value)
The following options are available on the final control element side for the hydraulic
functionality:
3.7.3 Boundary conditions for mechanical settings for modulo axes (long-term stability /
long-term accuracy)
For modulo axes, SIMOTION checks whether the long-term accuracy can be guaranteed.
Testing takes place on initial download, each restart of the CPU and each restart of the
technology objects, if relevant data have changed. The long-term accuracy ensures the
following:
● That the axis position displayed by the controller always conforms to the real position, i.e.
the axis position can be displayed uniquely from the accumulated encoder increments.
● That the calculated position in the controller does not differ from the real position. Without
long-term accuracy, differences result, e.g. because of rounding errors or calculations with
finite accuracy.
This enables positions to be approached exactly, even after any number of modulo overflows.
LREAL factor applies in this case. However, for the generally used settings, this is only reached
after years.
At a higher set internal computational accuracy, the traversing time is correspondingly lower.
If the determined traversing time does not meet your requirements, you can use the alternative
procedure presented below or identify the required settings for long-term stability in
accordance with the section “Checking long-term accuracy < SIMOTION V4.2”.
Alternative procedure
Reset the position by homing if the maximum traversing time does not meet your requirements.
Incremental encoder
Home the incremental encoder again before the position value 9x1012 is reached.
Absolute encoder (as of SIMOTION V4.3 SP1 HF17)
Perform absolute encoder adjustment with preset current known position via the _homing()
function using homingMode=SET_OFFSET_OF_ABSOLUTE_ENCODER_BY_POSITION.
This resets the position values to the current measurement range in a cyclic absolute encoder.
The reset may be performed via a user program e.g. after a
Power ON.
A test of the long-term accuracy is also performed on the target device during runtime. If the
long-term stability is not ensured due to the configuration, the following alarm is issued: Alarm
20006 Configuration error, reason 3041.
The reason for this error is the unsuitable selection of values in the configuration data. The
Excel list available on the Siemens Service & Support (http://support.automation.siemens.com/
WW/view/en/40786053) website assists you when checking and calculating gearbox
parameters.
See also
Encoder interface using the PROFIdrive message frame (Page 68)
Overview of setting options for axis and encoder mechanics (Page 81)
3.8 Defaults
The axis has system variables that can be set to default values for the axis. The most important
default values, e.g., for the dynamic response of the axis, are compiled in the Dynamic
Response screen form. These default values will be used if you use Default or USER
DEFAULT in your programming.
Table 3-25 Other default values that can be set via the expert list
See also
Default settings for dynamic response parameters (Page 161)
3.9 Homing
Absolute encoder
For absolute encoders, inclusion of the absolute encoder offset must be activated once.
For more information, refer to Section States that require re-adjustment of the absolute
encoder (Page 98).
Incremental encoder
For incremental encoders, synchronization is performed by homing when the home position
coordinates, or the home position coordinate taking into account the home position offset, are
set in active homing to a defined mechanical position of the axis. This defined mechanical
position of the axis is signaled to the controller via the encoder zero mark of the measuring
system or via the external zero mark.
For incremental encoders, if you want to establish a direct reference to the position, you must
synchronize the actual value system of the axis after every activation.
Note
Traversing commands with relative position specification can always be executed. The axis
configuration can be set to determine whether traversing commands with absolute position
specification can also be executed on a non-homed axis. Configuration data:
referencingNecessary.
See also
Homing (Page 347)
3.9.2 Terminology
Home position
When the axis has been synchronized and the reference point offset has been applied, the
axis is at the reference point and has the value specified in the reference point coordinate.
Set the home position or the home position coordinate in the
userDefaultHoming.homePosition system variable. The setting is axis-specific.
The homingCommand.state system variable displays the homing status on the axis.
Synchronization point
In the synchronization point, the actual value of the axis due to an external or internal event is
set to the value home position coordinate minus home position offset.
Reference point offset
The offset between the home position and the synchronization point is only effective during
active homing. It is applied after synchronization of the axis by means of the homing command.
In modulo axes, the home position offset is always applied with the Shortest_Way direction
setting. (Exception: As of 4.1 SP1, the direction can be specified with the "Home in one direction
only" setting.)
Specify the home position offset in the
TypeOfAxis.NumberOfEncoders.Encoder_1.IncHomingEncoder.proceedShiftPos
configuration data element.
Reference mark
A homing mark is a hardware signal that is used for homing.
● Encoder zero mark
The encoder zero mark of an incremental encoder is used as a reference mark.
● External zero mark
An external signal (zero mark substitute) is used as the reference mark.
Homing output cam
The homing output cam outputs an enable signal for the actual reference signal (encoder zero
mark or external zero mark). The drive reduces the velocity on the basis of the switching edge
returned by the homing output cam and waits for the next incoming homing signal in order to
perform the homing operation.
Note
Device-specific properties
The homing output cam is connected to any control input for homing with homing output cam
and encoder zero mark.
For more information about the device-specific boundary conditions and additional parameter
setting requirements, see the supplementary information for drives and the product manuals.
Note
As of V4.2, the inputs for homing output cams and for the status of the external zero mark
and of the reversing cam can be interconnected to SINAMICS inputs symbolically instead
of via the intermediary of a logical address.
The axis has synchronized or homed status once the reference mark is detected.
Note
The direction of approach to the reference cam or reference mark must be specified in the
user program. As of V4.1, support is provided for using hardware limit switches as reversing
cams.
Active homing with reference cam and encoder zero mark mode
The homing command causes the axis to move toward the reference cam. After the axis has
detected and left the reference cam, the axis moves to the next encoder zero mark of the
position measuring system. You can specify in a configuration data element whether the
encoder zero mark is in the positive or negative traversing direction. The axis is synchronized
with the first encoder zero mark detected after the reference cam. Then, the home position
offset is traveled at the homing entry velocity. The axis position now has the value defined in
the home position coordinate.
Figure 3-22 Parameters for active homing with reference cam and encoder zero mark
● Phase 1
Travel to the reference cam
The axis moves to the reference cam at the approach velocity. The approach direction is
parameterized.
● Phase 2
Synchronization with encoder zero mark
The axis moves to the encoder zero mark of the incremental position encoder at the reduced
velocity. The position of the encoder zero mark relative to the reference cam can be
parameterized. Depending on this position, the movement is either continued in the same
direction or reversed. The controller is synchronized to the first detected encoder zero mark
which is detected according to the configuration setting. When the encoder zero mark is
detected, the axis is considered to be synchronized, and the axis position is set to the value
specified in the home position coordinate, minus the home position offset.
● Phase 3
Travel to the home position
When the encoder zero mark is detected, the axis moves to the home position at the entry
velocity.
+RPLQJRXWSXWFDP =HURPDUN $[LVLVDW
UHDFKHG UHDFKHG KRPHSRVLWLRQ
+RPLQJDSSURDFK
YHORFLW\9DSS
+RPLQJHQWU\YHORFLW\
9HQWU\
+RPLQJUHGXFHGYHORFLW\
9UHG
the homing entry velocity. The axis position now has the value defined in the home position
coordinate.
Note
For homing to the external zero mark of axes with a digital drive link via PROFIdrive, the
external zero mark must be configured as a digital input on the drive (configuration of zero
mark substitute for SIMODRIVE 611U, SINAMICS). The external zero mark signal must be
connected at the same location where the encoder is measured, e.g. on the drive, on the
ADI4/IM174, or on the inputs of the C2xx intended for the external zero mark.
SINAMICS
With SINAMICS, a positive direction of motion is synchronized to a positive trigger edge and
a negative direction of motion is synchronized to a negative trigger edge, i.e. on the left side
of the external zero point signal in each case.
By inverting the signal (setting option on the drive: SINAMICS parameter via P490),
synchronization is also possible on the right side of the external zero point signal.
In SINAMICS, the homing to the encoder zero mark or the external zero mark is set in P495.
To be able to detect for drives coupled using PROFIdrive that the drive is positioned at the
external zero point, the state of the external zero point on the axis must be made available.
Because the corresponding status bit is not provided in the PROFIdrive telegram of the drive
DO, an additional input bit containing the status of the external zero mark can be configured
on the axis in the incHomingEncoder.stateDriveExternalZeroMark configuration data element
as of V4.1 SP1. For drives linked with SINAMICS, the corresponding status bit in PZD2 of
telegram 390 or 391 of the CU is transferred to the controller.
If symbolic assignment is activated, the status of the external zero mark can be assigned to
the corresponding onboard terminal on the control unit directly using the Assign dialog.
Refer to the SINAMICS documentation for the assignment of digital inputs of the drive to the
status bits of the PZD2.
The system will detect whether the axis is already positioned at the external zero point. Travel
from the external zero point is made opposite to the approach direction. This is followed by
normal homing.
SIMODRIVE 611U
With SIMODRIVE 611U, only falling edges are permitted in the positive traversing direction,
and only rising edges are permitted in the negative traversing direction, meaning that the same
output cam side is always used.
Inverting is not possible with SIMODRIVE 611U. The edges can be inverted by using initiators
of the inverted type or via an application (inaccurate).
MASTERDRIVES
With MASTERDRIVES Motion Control, only rising edges are permitted.
OnBoard C2x0
With OnBoard, only rising edges are permitted.
Figure 3-24 Parameters for active homing with external zero mark only
Note
- Only homing with a reference cam and an encoder zero mark should be considered for a
resolver with a pole pair number > 1.
- With a digital link to SINAMICS S120, the settings for homing are read out from the drive
on request. Changes are not written back to the drive.
Active homing with encoder zero mark only (without reference cam)
Homing without a reference cam is used, for example, in axes for which the encoder has only
one encoder zero mark in the entire axis traversing range. This homing command causes the
axis to travel to the encoder zero mark. After the encoder zero mark is detected, the axis
approaches the shifted reference point at homing velocity. The axis position now has the value
defined in the home position coordinate.
Figure 3-25 Parameters for active homing with encoder zero mark only
Note
Only homing with a reference cam and an encoder zero mark should be considered for a
resolver with a pole pair number > 1.
All examples are programmed with the Left-hand approach direction (negative)
1 Starting point in front of reference cam
2 Axis is on reference cam
This is detected by the system, and the axis travels against the approach direction away from
the reference cam. This is followed by normal homing.
3 Axis is behind the reference cam on the left
A normal homing operation with approach direction left is started. The axis reverses direction
at the reversing cam and travels against the approach direction until it is over the reference cam.
This is followed by normal homing.
The hardware limit switches can also be defined as reversing cams. In this case, the hardware
limit switch is deactivated during homing.
The reversing cams are defined via the configuration data elements
typeOfAxis.homing.reverseCamPositive and typeOfAxis.homing.reverseCamNegative.
RQHUHYROXWLRQ
Passive homing with homing output cam and encoder zero mark mode
Once the homing output cam has been detected, the next encoder zero mark takes effect
according to the synchronization specified in the configuration. Synchronization is performed
with the first encoder zero mark detected after the homing output cam. When the encoder zero
mark is detected, the axis is set to the value specified in the home position coordinate. The
axis is then given Synchronized and Homed status.
Note
Use the "homing output cam and encoder zero point" setting for homing for measuring
systems with more than one encoder zero point in the traversing distance of the axis. This
ensures that travel is made to an exact, reproducible homing position.
As an alternative, you can use the "only external zero point" setting. The external signal
means, however, that the attainable homing position is less accurate.
See also
Positioning (Page 349)
Synchronization/homing with incremental encoders (Page 409)
3.9.7 Relative direct homing/relative setting of home position (V3.2 and higher)
The current position of the axis is offset by the value specified in the home position coordinate,
so in this case the home position coordinate should be regarded as an offset.
This homing method can also be used during operation (while traversing).
The setting of parameters for axis homing is irrelevant here. The home position coordinate is
specified in the command.
3.9.8 States that require a new homing procedure for incremental encoders
With incremental encoders, the status is reset to not homed in the following cases:
● Error in the sensor system / encoder failure
● New homing command
● Power off
● Termination of the communication to the drive/encoder
● SCOUT is downloaded with selection of the Initialization of all retentive data setting
● Changes requiring a download or restart are made to the axis configuration
● Technology object restart is performed on the Axis technology object
● When active homing is initiated
(QFRGHU]HURSRVLWLRQ $[LV]HURSRVLWLRQ
$EVROXWHHQFRGHURIIVHW
Figure 3-28 The axis zero position is the encoder zero position plus the absolute encoder offset
The absolute encoder offset (as of V3.2) may be set as an additive or absolute value.
This absolute encoder offset is stored in the NVRAM and remains in effect until the next
absolute encoder adjustment. This function must therefore be executed once when the control
is commissioned.
The offset value and its calculation are set during configuration.
2IIVHWE\
DEVROXWHHQFRGHUDGMXVWPHQW &RUUHFWLRQGXULQJ
SHUPDQHQW UXQWLPH
(QFRGHU ,QHIIHFWRQ
SRVLWLRQ 32:(521DQGUHVWDUW
$EVROXWHHQFRGHU $FWXDOSRVLWLRQRID[LV
absshift = 5.000
_homing() command called for the first time→ Position = 105.000
_homing() command called for the second → Position = 105.000
time
absshift = 7.000
_homing() command called for the third → Position = 107.000
time
See also
Encoder for position (Page 62)
If reversing cams are present, monitoring is applied again when the direction reverses as a
result of the revering cams.
When homing mark monitoring is enabled, both active and passive homing procedures are
monitored.
3.9.12 Displaying actual value change during homing (V4.0 and higher)
A change of the actual value during homing is displayed in the
homingCommand.positionDifference system variable.
See also
Resetting the set and actual positions (Page 360)
See also
Using the expert list for an axis (Page 237)
3UHFRQWURO
$FWXDWRU
%DODQFLQJ + + 0DQLSXODWHGYDULDEOH
&RQWUROOHU
,32
6HQVRU
(QFRGHUIUHTXHQF\
– DFFHOHUDWLRQ
GLJLWDO,Q
0RQLWRULQJIXQFWLRQV
PRWLRQ6WDWH'DWDFRPPDQG9HORFLW\
VHUYR0RQLWRULQJG\QDPLF)ROORZLQJ:DUQLQJ
VHUYR'DWDIROORZLQJ(UURU VHUYR0RQLWRULQJG\QDPLF)ROORZLQJ(UURU
0RQLWRULQJ
RIXSSHU
ORZHUOLPLWV
8SSHUDQGORZHUOLPLWVDUHGHSHQGHQWRQWKHFXUUHQWYHORFLW\
Positioning monitoring
The behavior of the actual position at the end of the setpoint interpolation is monitored.
(Positioning monitoring)
This positional monitoring does not distinguish whether the setpoint interpolation is ended as
a result of reaching the target position from the setpoint side or due to a position-controlled
stop during the motion performed by the interpolator (e.g. with a _stop() command). This
monitoring is referred to as positioning monitoring, although the position does not have to be
the same as the target position. The tolerance window specified for this monitoring is called
the positioning window.
SRVLWLRQLQJ6WDWHFRPPDQG3RVLWLRQ VHUYR0RQLWRULQJSRVLWLRQLQJ
3RVLWLRQLQJ
PRQLWRULQJ
SRVLWLRQLQJ6WDWHDFWXDO3RVLWLRQ
Sequence:
Note
Positional monitoring (e.g. following error monitoring or positioning monitoring) are
disabled when the pressure control is enabled or via the pressure limiting or torque limiting
command.
Note
Below this velocity, the motion is stopped in response to _stopEmergency() at zero setpoint
without a preconfigured deceleration ramp.
In speed-controlled motion, the criterion for completing the command is standstill monitoring.
The completion of commands for position-controlled motions is described in Positioning and
standstill monitoring.
$VWDQGVWLOOVLJQDOLVJHQHUDWHGZKHQWKHDFWXDOYHORFLW\LVOHVVWKDQWKHYHORFLW\VHWIRU
WKHVWDQGVWLOOVLJQDOGXULQJFRQILJXUDWLRQ
The standstill signal is available on the positioning axis and the drive axis.
Figure 3-36 Function and adjustable parameters for the standstill signal
See also
Positioning and standstill monitoring (Page 105)
Manipulated variable limitation on an electrical positioning axis in the servo performs absolute
limiting of the position value to an upper and a lower limit value.
Note
When the Dynamic Servo Control (position controller in the drive) function is active, backstop
(limiting of the manipulated variable for the drive) is only effective for the precontrol.
Therefore, when DSC is active, the backstop must be generated in the drive.
3HUPLWWHGWUDYHUVLQJUDQJH
6RIWZDUHOLPLWVZLWFKHV
+DUGZDUHOLPLW +DUGZDUHOLPLW
VZLWFKHV VZLWFKHV
6DIHW\UDQJH
NOTICE
Switching the controller off after the limit switch has been overtraveled
Once the limit switch has been overtraveled, the controller must not be switched off to avoid
a conflict between the polarity monitoring of the limit switches and the overtravel monitoring
of the limit switches in the direction of the permissible area.
If the controller is switched off, the information of the limit switch polarity is lost. The axis must
then be moved into the permissible range by the user.
When the controller is switched on, the axis must be positioned within the permissible
traversing range.
If the hardware limit switches are configured as reversing cams or reference cams for homing,
these hardware limit switches can be overtraveled during homing, even if they are activated.
If the limit switch is overtraveled and the configuration reloaded, internal states are lost.
Reloading without loss of the approach information is only possible within the valid range.
Exception: Deactivation of limit monitoring after a polarity reversal error.
A cable break can only be reset with Power On or by a one-time deactivation of the function.
The hardware end position interface can be activated and deactivated on the axis using the
_enableAxisInterface() and _disableAxisInterface() commands.
The Activated/Deactivated hardware end position interface status is displayed in the
sensorMonitoring.hwLimitSwitchInput system variable.
Technological alarm 40106, "Approach SW limit switch", is only output when the software limit
switch is reached.
If the software limit switches are also to be monitored with non-homed axes,
homing.referencingNecessary = NO must be set in the configuration data element.
With the setting Homing required, active limit monitoring is only effective if the axis is homed.
If the setting Homing required is not selected, active limit monitoring is always effective.
The software limit position monitoring is effective also for isochronous movement and path
movement. For a violation of the software limit position, the isochronous movement or path
movement will be terminated and travel made to the software limit switch with maximum
deceleration and maximum jerk.
If valid actual values are present for a speed-controlled procedure, these serve as limits for
the software end position monitoring.
Monitoring the software limit switch at motion start (V3.2 and higher)
The controller checks for a violation of the limits before the motion starts. If the software limit
switch is exceeded, the axis is limited to the software limit switch position and alarm 40105 is
triggered.
If alarm 40105 is active, no more movement commands will be accepted and the limit switch
will be approached at the programmed dynamic values. The error only needs to be
acknowledged when, for example, using an application program, to stop before the limit switch
or to travel in the reverse direction.
If, for example, a second motion is superimposed and acts in the opposite direction, it is
possible for the software limit monitoring to signal an alarm when the first motion is activated,
even though the software limit switch is not reached.
The monitoringAtMotionStart configuration data element can be used to enable/disable the
check when the motion starts.
Note
The cyclical software limit monitoring check is always performed during the motion.
VHUYR'DWDFRPSHQVDWHG6HUYR&RPPDQG9DOXH
VHUYR0RQLWRULQJFRQWUROVWDWH
VHUYR'DWDWRWDO6HUYR&RPPDQG9DOXH
,32VHWSRLQWV
SRVLWLRQLQJ6WDWHFRPPDQG3RVLWLRQ VHUYR'DWDVHUYR&RPPDQG9DOXH DFWRU'DWDVHWSRLQW
PRWLRQ6WDWH'DWDFRPPDQG9HORFLW\
PRWLRQ6WDWH'DWDFRPPDQG$FFHOHUDWLRQ
,IWKHUHLVQRHQDEOHRUSUHSDUDPHWHUL]HGEUDNLQJUDPS,32LVLQIROORZXSPRGH
WKDWLV,32VHWSRLQW ,32DFWXDOYDOXH
$FWXDOYDOXH
6HWWLQJRSWLRQVOLQHDUFXELFTXDGUDWLFGLUHFW SRVLWLRQLQJ6WDWHDFWXDO3RVLWLRQ V\VWHP
37HOHPHQWZLWK77 PRWLRQ6WDWH'DWDDFWXDO9HORFLW\
PRWLRQ6WDWH'DWDDFWXDO$FFHOHUDWLRQ
VHQVRU'DWDSRVLWLRQ
VHQVRU'DWDYHORFLW\
VHQVRU'DWDDFFOHUDWLRQ
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
You can call signal flow diagrams under the Axis object in the project navigator. The signal
flow diagram illustrates the signal path and enables major items of configuration data and
important system variables to be parameterized using the signal flow.
VHUYR0RQLWRULQJFRQWUROVWDWH VHUYR'DWDWRWDO6HUYR&RPPDQG9DOXH
(QDEOHV '\QDPLF
0RWLRQ,32 )LQH 6HWSRLQW &RQWUROOHUZLWK 0DQLSXODWHG
HPHUJHQF\VWRS UHVSRQVH
LQWHUSRODWLRQ VXSHULPSRVLWL SUHFRQWURO YDULDEOH
RSHUDWLQJ DGDSWDWLRQ
RQ SUHSDUDWLRQ
PRGHV
$FWXDOYDOXH
V\VWHP
VHQVRU'DWDSRVLWLRQ
VHQVRU'DWDYHORFLW\
VHQVRU'DWDDFFOHUDWLRQ
3UHFRQWURO VHUYR'DWDSUH&RQWURO9DOXH
'LIIHUHQWLDWLRQ
3RVLWLRQFRQWUROOHU
%DODQFLQJ 6\VWHP 6HWSRLQWVSHHG
GHDGWLPH NY
ILOWHU DFWRU'DWDVHWSRLQW
VHUYR'DWDFRQWUROOHU2XWSXW
'6&
DGMXVWPHQW VHUYR'DWDFRQWUROOHU'LIIHUHQFH
6HOHFWDEOH VHUYR'DWDV\PPHWULF6HUYR&RPPDQG3RVLWLRQ
37HOHPHQWZLWK77
VHQVRU'DWD>@SRVLWLRQ
VHUYR'DWDIROORZLQJ(UURU
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
Precontrol
The velocity precontrol can be used to limit the velocity-related following error during position
control. It can also help to achieve faster positioning.
With precontrol, the velocity setpoint is also switched additively to the position controller output.
This additional setpoint can be weighed with a factor.
$FWLYH
3UHFRQWURO N SF
G
GW
%DODQFLQJILOWHU 3RVLWLRQFRQWUROOHU
6SHHGFRQWUROORRS
Y7F Y 5HIHUHQFH
6HWSRLQW VSHHG QDFW [DFW
,QWHUSRODWRU
$FWXDOSRVLWLRQ
The speed is precontrolled; to this end, the position setpoint is adopted from the reference
variable calculation directly or with differentiation applied, and the set velocity is defined on
the speed controller directly. The position controller then simply has to compensate for any
position errors which may be present in spite of the precontrol.
The position error, therefore, is generated from the position setpoint, delayed by the speed
control loop equivalent time, and the existing actual position value.
Settings and configuration data
The setting can be made using the Closed-loop control dialog for Dynamic controller data
(activate expert mode).
When precontrol is active, allowance can be made in the balancing filter for the response of
the speed control loop prior to formation of the system deviation from the position setpoint and
actual position.
● With the balanceFilterMode=OFF configuration setting, the balancing filter is switched off.
● With the balanceFilterMode=MODE_1 configuration setting, a PT1 filter is used as the
balancing filter.
– For electric axis without DSC:
The following must be set as the time constant for the balancing filter in
dynamicData.velocityTimeConstant: TBalancing filter=TSpeed control loop equivalent time+Ti+To+Tdp+Tservo
The transmission dead times and process response (equivalent time of speed control
loop) must be taken into account in the time constant.
systemDeadTimeData.additionalTime is not included additively by the system in the
balancing filter.
– For electric axis with DSC:
The following must be set as the time constant for the balancing filter in
dynamicData.velocityTimeConstant: TBalancing filter=TSpeed control loop equivalent time, because the
transmission dead times for the position controller in the drive are not present in the
position control loop.
systemDeadTimeData.additionalTime is not included additively by the system in the
balancing filter.
– For the hydraulic axis:
The following must be set as the time constant for the balancing filter in
dynamicQFData.qOutputvelocityTimeConstant: TBalancing filter=TqOutputEquivalent time +
Communication times according to the setpoint output/actual value interface.
(TqOutputEquivalent time as equivalent time for the QOutput process response)
● With the balanceFilterMode=MODE_2 configuration setting (as of V3.1), the equivalent time
of the speed control loop, the dead time determined by the system for the drive, and a dead
time that can be input in additive increments by the user are taken into account in the
balancing filter.
Maximum time constant = 16 x Tservo
– For electric axis without DSC:
The following must be set as the time constant for the balancing filter in
dynamicData.velocityTimeConstant: TBalancing filter=TSpeed control loop equivalent time
Ti+To+Tdp+Tservo is taken into account by the system.
The value set in systemDeadTimeData.additionalTime is included additively by the
system in the balancing filter.
– For electric axis with DSC:
The following must be set as the time constant for the balancing filter in
dynamicData.velocityTimeConstant: TBalancing filter=TSpeed control loop equivalent time, because the
transmission dead times for the position controller in the drive are not present in the
position control loop.
systemDeadTimeData.additionalTime is not included additively by the system in the
balancing filter.
– For the hydraulic axis:
The following must be set as the time constant for the balancing filter in
dynamicQFData.qOutputvelocityTimeConstant: TBalancing filter=TqOutputEquivalent time +
Communication times according to the setpoint output/actual value interface
(TqOutputEquivalent time as equivalent time for the QOutput process response)
The setting balanceFilterMode=MODE_2 on the balancing filter is recommended.
System deviation
The control deviation is the difference between the balanced setpoint and the actual value and
is displayed in the servoData.ControllerDifference system variable.
Note
As of runtime version V4.1 SP1, the control deviation present on the position controller in the
drive is displayed for DSC. This is calculated in the control using a model (see the Control
Structure figure in the next chapter).
With versions prior to V4.1 SP1, the control deviation present in the control is displayed with
DSC.
Note
Quantization of the control deviation should be activated for stepper motors.
See also
Overview of commissioning the position controller of positioning axes (Page 150)
Hydraulic axis with position control/velocity control (Page 309)
Data sets (Page 206)
Detailed information
The position difference (XERR) and the gain factor for the position controller in the drive are
transferred in the PROFIdrive telegram, in addition to the speed precontrol value.
To activate the DSC function, the position controller must be set as PV controller (P controller
with precontrol). In addition, the encoder in
typeOfAxis.NumberOfEncoders.DSCEncoderNumber on the axis must specify to which
increments the position differential (XERR) is normalized during operation. In SINAMICS, this
is by default the motor encoder. typeOfAxis.NumberOfEncoders.DSCEncoderNumber must
be initialized to the first encoder of the axis TO.
DSC is supported by MASTERDRIVES (standard telegrams 5 and 6 according to PROFIdrive),
SIMODRIVE 611U and SINAMICS S120 (additional SIEMENS telegrams 105 and 106).
A SCRIPT is available to support you when commissioning MASTERDRIVES.
In SINAMICS, SIMODRIVE 611U, and MASTERDRIVES, the motor measuring system is used
for normalizing the position difference in the drive.
Structure
kpc
xact,NC
Speed
calculation
Tpc
xact
ncmd: speed command xerr: position error command pc: position control sampling time (=TMAPC)
xcmd: position command xact: actual position kpc: position control gain
Figure 3-43 Structure of the position-control loop with the velocity setpoint interface to the drive without
DSC
,32
),32 1RLVH
'\QDPLF )LQH,32
UHVSRQVH %DODQFLQJ 3RVLWLRQFRQWUROOHU GULYH Y7F
&RQWU &RQWUൺ'ULYH
-
6SHHGFRQWUROORRS
&RQWUROHUURU 'ULYHൺ&RQWU
-
)ROORZLQJHUURU
3RVLWLRQFRQWUROORRS
ncmd ncmd
Path Transmission Interpolation Position
delay control Speed filter Speed control
Interpolation (Tpc)
B
xcmd xerr nDrive
xact,NC kpc
Speed
calculation
1 2 3 4
xact,Drive
Tpc xact,NC Tpc Tsc
xact
Zero Offset and A
Compensation
Master Controller (NC) Drive Controller
ncmd: speed command xerr: position error command : speed control sampling time
sc kpc: position
xcmd: position command xact: actual position pc
: position control sampling time (=TMAPC) control gain
Figure 3-45 Structure of the position-control loop with DSC functionality in the drive
,32
),32 1RLVH
-
7L7R7GS7VHUYR7DGGLWLRQDO7LPH 'ULYHൺ&RQWU 6SHHGFRQWUROORRS
-
7L7R7GS7VHUYR
7DGGLWLRQDO7LPH
- 3RVLWLRQFRQWUROORRS
)ROORZLQJHUURU &RQWUROHUURU
ZLWKUHIWRGULYH 'LVSOD\LQFRQWURO
FRQWUROHUURULQGULYH
For more information about DSC, refer to the corresponding drive documentation, e.g. the
SINAMICS S120 Function Manual for SINAMICS.
See also
Overview of commissioning the position controller of positioning axes (Page 150)
Use DSC with spline with torque precontrol for constant load torque and
DSC with spline with speed precontrol for non-constant load torque.
If the torque constant of the feed motor does not remain in the overload range, the function
module Extended torque control functions can be activated. This improves the accuracy of the
torque simulation.
● Consistent setpoints
Position and velocity setpoints must be consistent with each other, i.e. the setpoint pair
must originate from the same cycle clock time of the motion control.
In the setpoint calculation of the technology object, the position setpoints and the velocity
are consistent with each other and are limited to the maximum values.
If the setpoints are modified using compensation values or limits after the setpoint
calculation, the consistency of position and velocity must be ensured by the user.
If the setpoints are defined by the user, the user must ensure consistency.
System variable with DSC spline status display: servoData.dscSpline
● Fine interpolation type
Use the default setting (configuration data item FineInterpolator._type=CUBIC_MODE)
● High-resolution measuring system
DSC with spline requires a high setpoint resolution. The setpoint resolution in the system
is based on the actual value resolution. If the actual value only has a low resolution, you
can increase the setpoint resolution internally.
(Set p0418, e.g. to 18-bit)
● Recommendation: Set the equivalent time of the speed control loop and the current control
loop to at least 3x current control cycle clock
VTC configuration data item dynamicData.velocityTimeConstant
TTC configuration data item dynamicData.torqueTimeConstant
● Switching the setting from DSC with spline to standard DSC and back
controllerStruct.PV_Controller.enableDSCSpline configuration setting
Restart required
● Speed control mode
Performed via Kpc=0.
The position for the generation of the position difference (XERR) is simulated internally.
● Speed precontrol = 100%
Precontrol factor is not evaluated for the DSC with spline setting.
● Friction compensation
This setting can cause irregular splines at the start of motion.
● Backlash compensation
This setting can cause irregular splines at the direction reversal.
● Setpoint superimposition
DSC without spline is used by the system, as long as superimposition is active, by activating
system variable servoSettings.additionalCommandValueSwitch.
● Manipulated variable superimposition
DSC without spline is used by the system, as long as superimposition is active, by activating
system variable servoSettings.additionalSetPointValueSwitch.
Restrictions
The following restrictions apply in SIMOTION when using DSC with spline:
● Encoder switchover during operation or during a motion is not supported
● Pressure control is not possible
● Pressure limiting is not possible
Note
Position and velocity values must be consistent
Closed-loop control on a direct encoder in the controller in conjunction with closed-loop
control on a motor encoder in the drive is not permitted. The position and velocity values
would then no longer be consistent in the spline calculation.
The user must ensure the values are consistent with each other if the position setpoints and
velocity setpoints change.
Balancing filter
When DSC with spline is activated, the balancing filter is calculated in the drive. The balancing
time is transferred to the drive in the telegram. The setpoint to calculate X_ERR is therefore
tapped before the balancing filter.
The controller calculates the actual control error in the drive taking into account the balancing
filter.
,32F\FOH 6HUYRF\FOHFORFN
FORFN
'\QDPLF
UHVSRQVH *DLQSUHFRQWURO &RQWUൺ'ULYH
,32
),32
'\QDPLF
UHVSRQVH %DODQFLQJ HQDEOH'6&6SOLQH &RQWUൺ'ULYH
7L7R7GS7VHUYR7DGGLWLRQDO7LPH 'ULYHൺ&RQWU
-
7L7R7GS7VHUYR
7DGGLWLRQDO7LPH
)ROORZLQJHUURU &RQWUROHUURU
ZLWKUHIWRGULYH 'LVSOD\LQFRQWURO
FRQWUROHUURULQGULYH
Interpolation types
During configuration, the following interpolation types can be set by means of the
FineInterpolator._type configuration data element:
● DIRECT_MODE: when no fine interpolation is required
● LINEAR_MODE: linear interpolation (continuous position for positioning axis)
Use for discontinuous velocity setpoints (no precontrol)
● QUADRATIC_MODE: quadratic interpolation (continuous velocity for positioning axis)
Use for continuous velocity setpoint curves
● CUBIC_MODE (recommended, default setting): cubic interpolation
Use for continuous velocity or continuous acceleration setpoint curves
With the positioning-axis setting, the set position is interpolated.
With the speed-controlled axis setting, the set velocity is interpolated.
● Without precontrol
PTC = 1/Kv
● For 100% precontrol of the velocity setpoint:
The equivalent time of the position control loop can be set as equal to the equivalent time
of the speed control loop (PTC = VTC).
(Control loop optimization for minimal overshoot)
VHUYR'DWDFRPSHQVDWHG6HUYR&RPPDQG9DOXH
VHUYR0RQLWRULQJFRQWUROVWDWH
VHUYR'DWDWRWDO6HUYR&RPPDQG9DOXH
,32VHWSRLQWV
SRVLWLRQLQJ6WDWHFRPPDQG3RVLWLRQ VHUYR'DWDVHUYR&RPPDQG9DOXH DFWRU'DWDVHWSRLQW
PRWLRQ6WDWH'DWDFRPPDQG9HORFLW\
PRWLRQ6WDWH'DWDFRPPDQG$FFHOHUDWLRQ
$FWXDOYDOXH
SRVLWLRQLQJ6WDWHDFWXDO3RVLWLRQ V\VWHP
PRWLRQ6WDWH'DWDDFWXDO9HORFLW\
PRWLRQ6WDWH'DWDDFWXDO$FFHOHUDWLRQ
VHQVRU'DWDSRVLWLRQ
VHQVRU'DWDYHORFLW\
VHQVRU'DWDDFFOHUDWLRQ
VHUYR'DWDVHUYR&RPPDQG9DOXH
VHUYR6HWWLQJVDGGLWLRQDO&RPPDQG9DOXH>@
VHUYR6HWWLQJVDGGLWLRQDO&RPPDQG9DOXH6ZLWFK
VHUYR6HWWLQJVDGGLWLRQDO&RPPDQG9DOXH>@ +
/DVWYDOXHEHIRUHRSHQLQJLVUHWDLQHG
VHUYR'DWDWRWDO6HUYR&RPPDQG9DOXH
,IWKHUHLVQRHQDEOHRUHPHUJHQF\VWRS,32LVLQIROORZXSPRGHLH,32VHWSRLQW ,32DFWXDOYDOXH
6HOHFWDEOHOLQHDUFXELFTXDGUDWLFGLUHFW
37HOHPHQWZLWK77
Superimposition has an effect on the position of the position axis. It is also effective during
active position control and interpolator (IPO) in follow-up mode.
No setpoint superimposition occurs for traversing the axis in the SPEED_CONTROLLED mode
and for active force/pressure control.
If the setpoint superimposition is disconnected, the last value of the setpoint superimposition
is retained. If the value should no longer function, it must be explicitly set to zero.
Note
During execution of the alarm response FEEDBACK_EMERGENCY_STOP and the
execution of _stopEmergency() with stopMode=STOP_WITH_COMMAND_VALUE_ZERO:
● The actual value (position and velocity) is accepted once and the preassigned deceleration
ramp is applied
● The superimposed setpoint is unclamped (as of V4.0)
● The switch for the superimposed setpoint is opened (status displayed in system variable).
● A switch is prevented from closing or the switch is closed via the system variable and
triggers Alarm 50021 "ServoSettings system variable (Element /1/%d) cannot be write-
accessed due to a stop response".
With the FEEDBACK_EMERGENCY_STOP alarm response, there is no setpoint
superimposition.
When a stop ramp is assigned (e.g. _stopEmergency(…
WITH_COMMAND_VALUE_ZERO) ), the superimpositions are deleted and transferred to
the setpoint generation. This triggers Alarm 50020 "Servosettings system variable (Element /
1/%d) is reset due to a stop response".
For switching to SPEED_CONTROLLED (as of V4.1 SP1) and in pressure control (as of V4.1
SP1), the setpoint superimposition is not active.
Note
The used procedure means that a setpoint delay can be implemented exactly by specifying
a dead time.
VHQVRU'DWD>Q@SRVLWLRQ,QFRPLQJ
VHQVRU'DWD>Q@VWDWH
VHQVRU0RQLWRULQJ]HUR0DUNHU0RQLWRULQJ
VHQVRU'DWD>Q@DFFHOHUDWLRQ
PRWLRQ6WDWH'DWDDFWXDO$FFHOHUDWLRQ
'LIIHUHQWLDWLRQ
)LOWHU /LPLWYDOXH
GGW PRQLWRULQJ
VHQVRU'DWD>Q@YHORFLW\
)LOWHU 'LIIHUHQWLDWLRQ
W\SH2I$[LVQXPEHU2I(QFRGHUVHQFRGHUBILOWHU
W\SH2I$[LVVPRRWKLQJ)LOWHU
PRWLRQ6WDWH'DWDDFWXDO9HORFLW\
(QFRGHUDFWLYHIRUPRWLRQ $FWXDOYDOXHPHDVXUHPHQWDFWXDOYDOXHV\VWHPIRUFRQILJXUHGHQFRGHU
FRQWURO
,QFUHPHQWDOHQFRGHU3RVLWLRQVDUH]HURHGDW]HURPDUN
$EVROXWHHQFRGHU$EVROXWHHQFRGHUDGMXVWPHQWLQDEV6KLIWRUDEVROXWH(QFRGHUWRWDO2IIVHW9DOXHLVLQFOXGHG
W\SH2I$[LV(QFRGHUBSRVLWLRQILOWHU
PRWLRQ6WDWH3RVLWLRQ VHQVRU'DWD>Q@LQFUHPHQWDO3RVLWLRQ
VHQVRU'DWDSRVLWLRQ
VHQVRU'DWDSRVLWLRQ,QFRPLQJ
VHQVRU'DWDVWDWH
VHQVRU0RQLWRULQJ]HUR0DUNHU0RQLWRULQJ
VHQVRU'DWDDFFHOHUDWLRQ
PRWLRQ6WDWHDFFHOHUDWLRQ
'LIIHUHQWLDWLRQ
)LOWHU /LPLWYDOXH
GGW PRQLWRULQJ
VHQVRU'DWDYHORFLW\
)LOWHU 'LIIHUHQWLDWLRQ
W\SH2I$[LV(QFRGHUBILOWHU
W\SH2I$[LVVPRRWKLQJ)LOWHU
PRWLRQ6WDWHYHORFLW\
(QFRGHUDFWLYHIRUPRWLRQ $FWXDOYDOXHPHDVXUHPHQWDFWXDOYDOXHV\VWHPIRUFRQILJXUHGHQFRGHU
FRQWURO
2IIVHWFRRUGLQDWHV\VWHPHJXVLQJBUHGHILQH([WHUQDO(QFRGHU3RVLWLRQDQGBV\QFKURQL]H([WHUQDO(QFRGHUZLWKWKH',5(&7B+20,1*VHWWLQJ
,QFUHPHQWDOHQFRGHUXVHU'HIDXOW+RPLQJKRPH3RVLWLRQ
$EVROXWHHQFRGHUDEV6KLIW
The monitoring of the actual velocity and actual acceleration is used to identify errors in the
control loop of the drives. If the rise in the actual value exceeds the encoder limit frequency,
an alarm is triggered.
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
Display
The actual data for each sensor/encoder is displayed in the following variables:
● sensorData[n].position
● sensorData[n].velocity
● sensorData[n].acceleration
The system variables for sensorData are calculated in the servo cycle clock.
The actual axis value that is active for closed-loop control, the IPO cycle clock, and master
value coupling is displayed in the following variables:
● positioningState.actualPosition
● motionStateData.actualVelocity
● motionStateData.actualAcceleration
The system variables for positioningState and motionState are calculated in the IPO cycle
clock.
These actual values comprise the reference for the output cam calculation in the IPO cycle
clock, the actual value coupling for external encoders without extrapolation, and the actual
value reference in the IPO cycle clock, e.g. for actual-position-related profiles.
Noisy encoder signals lead to high velocity jumps. These can be reduced or compensated by
using suitable filter settings.
Extrapolation
For a synchronized group with actual value coupling (e.g. master value is the actual encoder
value of an axis or an external encoder), the associated principle means delay times result
because of bus communication, system cycle clocks and clock-pulse scaling, fine interpolation,
position setpoint filters, and controller settings. These times can be compensated using an
extrapolation (Extrapolation.extrapolationTime).
Extrapolation means knowing what has gone before and casting a glance at what is to come
in the future (extrapolation time). In the case of dynamic changes to the master value, the
extrapolation time should be as short as possible. An IPO cycle clock ratio: Servo pulse duty
factor of 1:1 is good.
Note
Extreme care must be taken when changing the extrapolation time to the runtime; otherwise
knocking could result in the machine.
$FWXDOYDOXHFRXSOLQJZLWKRXWH[WUDSRODWLRQ $FWXDOYDOXHFRXSOLQJZLWKH[WUDSRODWLRQ
72$[LVDQG
([WHUQDO(QFRGHU
72$[LV72([WHUQDO(QFRGHU
)ROORZLQJREMHFW
&ORVHGORRSFRQWUROF\FOHFORFN ,32RU,32BF\FOHFORFN
,32RU,32BF\FOHFORFN
7\SH2I$[LV([WUDSRODWLRQ ([WUDSRODWLRQ7LPH!
([WUDSRODWLRQ7LPH ([WUDSRODWLRQ7LPH 69
69H[WUDSRODWLRQ FXUUHQW0DVWHU'DWD
69H[WUDSRODWLRQ'DWD ([WUDSROD 'DWDSRVLWLRQ YDOXH 6\QFKUR
ILOWHUHG3RVLWLRQ
WLRQZLWK
∆[ QRXV
SODXVLELOLW\
77 aYHORFLW\ aGHULYHG9DOXH RSHUDWLRQ
FKHFN
aDFFHOHUDWLRQ IXQFWLRQ
a
∆Y VHFRQG'HULYHG9DOXH
)LOWHUV
77
7\SH2I$[LV 7\SH2I$[LV 2QO\IRU72([WHUQDO
([WUDSRODWLRQ ([WUDSRODWLRQ
7\SH2I$[LV (QFRGHU
)LOWHU 7\SH2I$[LV ([WUDSRODWLRQ H[WUDSRODWHG
7ROHUDQFH5DQJH 9HORFLW\6ZLWFK
$FWLYH
69H[WUDSRODWLRQ'DWD
ILOWHUHG9HORFLW\
([WUDSRODWLRQ
3RVLWLRQ)LOWHU
)LOWHUV +\VWHUHVLVQRWDFWLYH )ROORZLQJREMHFW
[ +\VWHUHVLVDFWLYH
DFWXDO ,32RU,32BF\FOHFORFN
YDOXH
V\VWHP 69 69
$[LV SRVLWLRQLQJ6WDWHDFWXDO3RVLWLRQ FXUUHQW0DVWHU'DWD
([WHQFRGHU PRWLRQ6WDWHSRVLWLRQ YDOXH 6\QFKUR
$[LV PRWLRQ6WDWH'DWDDFWXDO9HORFLW\ QRXV
Y ([WHQFRGHU PRWLRQ6WDWHYHORFLW\ aGHULYHG9DOXH RSHUDWLRQ
)LOWHUV IXQFWLRQ
$[LV PRWLRQ6WDWH'DWDDFWXDO$FFHOHUDWLRQ a
∆Y ([WHQFRGHU PRWLRQ6WDWHDFFHOHUDWLRQ VHFRQG'HULYHG9DOXH
7\SH2I$[LV
6PRRWKLQJ)LOWHU 77
696\VWHPYDULDEOH
Figure 3-52 Actual value coupling with extrapolation for the Axis technology object or External Encoder technology object
During master value extrapolation, filtering on the actual velocity value is performed separately
by means of a PT1 filter/mean value generation that is set with
typeOfAxis.extrapolation.Filter.
The actual position value for synchronous operation can be filtered separately during
extrapolation by means of a PT2 element. (as of V4.1 SP1)
As with extrapolation, there is only one filter for each axis rather than for each sensor/encoder.
It is set in typeOfAxis.extrapolation.positionFilter.T1 and ~.T2. The filter acts on the actual
position for the extrapolation, see also Technology Objects Synchronous Operation, Cam
function manual, Actual value coupling with extrapolation section.
The velocity for the extrapolation is taken over from the actual values of the axis or External
Encoder before application of the smoothing filter (typeOfAxis.smoothingFilter).
Although the velocity filter (Extrapolation.Filter) does not affect the extrapolation time, it is
significant in the case of dynamic changes to the master value (due to the values being
delayed).
The filter for the velocity during extrapolation is independent of this filter.
We recommend setting the velocity filter (Extrapolation.Filter) first; if the result is not sufficient,
use the position filter as well. The position filter times are an additional factor to be taken into
account in the extrapolation time.
For extrapolation, you can specify in typeOfAxis.extrapolation.extrapolatedVelocitySwitch
whether the master value velocity should be recalculated from the extrapolated position or
whether the velocity derived for the extrapolation should also be used as the master value
velocity.
The extrapolated and filtered actual values can be checked in the following system variables:
● Filtered and extrapolated
– extrapolationData.position
– extrapolationData.velocity
– extrapolationData.acceleration
● Filtered and not extrapolated
– extrapolationData.filteredposition
– extrapolationData.filteredvelocity
(This topic is presented in detail in the Technology Objects Synchronous Operation, Cam
Function Manual under Actual value coupling with extrapolation.)
Note
You can find a tool to help you calculate extrapolation times under Tools and Documentation
> Calculating the extrapolation time for an actual-value-coupled drive in the SIMOTION
Utilities & Applications. SIMOTION Utilities & Applications is part of the scope of delivery of
SIMOTION SCOUT.
Transferring the actual velocity from the drive (as of V4.1 SP1)
With velocity precontrol, sudden changes in velocity directly affect the control behavior
(quantization jumps primarily in the case of low-resolution encoders).
With the setting
typeOfAxis.numberOfEncoders.encoder_n.encoderValueType=POSITION_AND_PROFIDRI
VE_NIST_B, you have the option of converting the speed of rotation transferred in PROFIdrive
NIST_B to a velocity and applying this value as the actual velocity of the encoder/sensor. In
this case, the actual position of the sensor does not need to be differentiated to derive the
actual velocity.
With the setting typeofAxis.numberOfEncoders.encoder_n.encoderValueType=
POSITION_AND_DIRECT_NIST, a speed of rotation transferred in the I/O area and
normalized as NIST_B is taken as the actual value and converted to an actual velocity. In this
case, 4000H corresponds to 100%. The address is set in
See also
Actual value coupling with extrapolation
DFWRU'DWDIULFWLRQ&RPSHQVDWLRQ9DOXH
DFWRU'DWDIULFWLRQ&RPSHQVDWLRQ $&7,9(
6WDWLFIULFWLRQ
FRPSHQVDWLRQ
VHUYR6HWWLQJVVHWSRLQW2IIVHW&RPSHQVDWLRQ
'ULIW
FRPSHQVDWLRQ
0DQLSXODWHG
YDULDEOH DFWRU'DWDDFWXDO$GGLWLRQDO6HWSRLQW
VXSHULPSRVLWLRQ
DFWRU'DWDDFWXDO$GGLWLRQDO6HWSRLQW
0DQLSXODWHG
YDULDEOH
VXSHULPSRVLWLRQ
VHUYR6HWWLQJVDGGLWLRQDO6HWSRLQW9DOXH>@
VHUYR6HWWLQJVDGGLWLRQDO6HWSRLQW9DOXH6ZLWFK
VHUYR6HWWLQJVDGGLWLRQDO6HWSRLQW9DOXH>@
'DPSLQJWLPH
$PSOLWXGH
Static friction is added relative to the velocity setpoint. It only takes effect when processing
motion specifications and does not affect force/pressure control.
The standstill identification for static friction compensation can be set separately, as is the case
for the amplitude and the decay response. The amplitude and decay response are set in the
configuration.
%DFNODVK
[$
* 0
*(QFRGHU [*
00RWRU
;*$FWXDOHQFRGHUYDOXH
;$$[LVSRVLWLRQ
Despite the backlash on reversal, a clear derivation of the axis position from the encoder
position and an exact traversing, positioning and synchronous operation of the axis must be
possible. SIMOTION provides the backlash on reversal compensation function for this purpose.
The backlash is specified in absBacklash.length or incBacklash.length, and the backlash
compensation velocity is specified in absBacklash.velocity or incBacklash.velocity.
Backlash on reversal compensation is effective only for encoders mounted on the motor side
and is set specifically for each encoder. A direct measuring system measures the variable
directly without any intermediate backlash. Therefore, any existing backlash is compensated
with closed-loop control to the direct measuring system.
Backlash type
● Positive backlash
A positive backlash is set with absBacklash._type = POSITIVE or incBacklash._type =
POSITIVE.
Setting =POSITIVE means that the mechanical position lags behind the actual encoder
value. This is the case, for example, if the ball screw has play and the encoder is attached
to the motor (normal condition, default).
When the direction is reversed, the backlash is applied by the system at the backlash
compensation velocity.
Unless stated otherwise, the POSITIVE setting is assumed in the following.
● Negative backlash
The setting incBacklash._type = NEGATIVE is not supported.
The setting absBacklash._type = NEGATIVE is not supported.
Note
The fraction backlash that the axis lags when traversing in the homing direction is
irrelevant. Homing yields a unique assignment of the mechanical and displayed axis
position relative to the encoder value. When traversing in this direction, the same ratios
always result.
When the backlash range has been run through completely one time (no matter which
direction), the set backlash is then compensated when the direction is reversed - if backlash
compensation is enabled. This is independent of the homing status and applies to the relative
or, if applicable, absolute traversing of the axis in the non-homed state.
Note
Directly after switch-on, the mechanical axis position is displayed correctly only if the position
of the backlash at the time of switch-on corresponds to the position of the backlash relative
to the mechanical axis position when the absolute encoder offset is set. If this is not the case,
the mechanical axis position may deviate from the displayed axis position up to the total
amount of the backlash; that is because the control detects the actual encoder value at the
time of switch-on but it is not able to establish the position of the backlash without moving
the axis.
backlash range has been run through completely one time (no matter which direction), the set
backlash is then compensated when the direction is reversed - if backlash compensation is
enabled.
Status display
The sensorMonitoring.passingBacklash system variable indicates that the backlash is being
run through without changing the actual axis value.
Since the travel specification resulting from the specified motion and backlash recovery is
superimposed, this indication is not identical to the specification for backlash recovery.
Note
In order not to impair the response times with the backlash, the backlash compensation is
started simultaneously with the motion.
6HWSRLQWYHORFLW\IURPPRWLRQVSHFLILFDWLRQ
9HORFLW\VSHFLILFDWLRQIRUEDFNODVKUHFRYHU\
&KDQJHPRWRUSRVLWLRQ
%DFNODVK
&KDQJHDFWXDOSRVLWLRQPHFKDQLFDOSRVLWLRQLQGLFDWHGSRVLWLRQ
6WDWXVLQGLFDWLRQLQV\VWHPYDULDEOH
VHQVRU0RQLWRULQJSDVVLQJ%DFNODVK
Commands Function
_move() For traversing with a programmable velocity profile
_runTimeLockedVelocityProfile() For traversing with a user-definable velocity profile
_runPositionLockedVelocityProfile() For traversing with a position-related velocity profile
See also
Setting and canceling the axis enables (Page 332)
Moving (Page 348)
Traversing the axis via velocity specifications (Page 166)
0
0BW
I>N+]@
FRQWURO
0DVWHUYDOXH
6ODYHD[LV
)ROORZLQJD[LV VLJQDORXWSXWRQO\
'ULYH $,(
0
a
Application
The axis position (a master value) is to be made available to a second control unit as an
encoder signal via encoder signal simulation.
The standard message frame 3 is set between control unit and drive. An offset for the zero
pulse output can be specified in the application.
6,027,21
72$[LV
,32
6HUYR
6WDQGDUGPHVVDJHIUDPH
6,1$0,&6
'270
70
In order to rule out lasting position deviations in the output signal, the axis can be provided
with a PI controller that is applied to the actual position returned by TM41 / DO41.
Setting as an axis with signal output via the TM41 module only
Setting the axis as an axis with signal output only via the enumerator element
REAL_AXIS_WITH_SIGNAL_OUTPUT in TypeOfAxis.
The following functions are not practicable or cannot be activated with this setting:
● Active homing is not permitted
● Measurement via digital drive is not permitted
● Compensations are disabled
● Following error monitoring functions are disabled
● Following error monitoring is disabled
● Positioning monitoring is deactivated
● Standstill monitoring is disabled
● Hardware limit monitoring is disabled
Note
You can also find further information under FAQs in the SIMOTION Utilities &
Applications provided with SIMOTION SCOUT.
See also
Setting as a real axis with encoder signal simulation (V4.0 and higher) (Page 58)
Basic procedure
When commissioning the position controller, you should follow a basic procedure, which is
outlined below. You can find detailed information in subsequent chapters.
● Enter/check the settings for the controller type, load gear, measuring gear, normalization
of the speed setpoint interface, leadscrew pitch, encoders, and valve characteristic (for
hydraulic axes)
● Set the speed controller on the drive
● On the SIMOTION control unit, preselect the axis data set (Page 206) whose controller
parameters are to be optimized (and, if necessary, preselect the appropriate data set on
the drive)
● Set the controller parameters
The SIMOTION measuring functions (Page 245) for manual optimization and the automatic
controller setting (Page 238) are available for this.
● Set the equivalent time constant of the position controller
● Non-volatile storage of parameters on the target device and in the offline project
You can also find a commissioning guide under FAQs in the SIMOTION Utilities &
Applications provided with SIMOTION SCOUT.
See also
Overview of automatic controller setting (as of V4.1 SP1) (Page 238)
SIMOTION measuring functions (Page 245)
Axis control panel (Page 250)
Data sets (Page 206)
Table 3-29 Configuration data that is not included in the axis data set
Requirements
● The settings have been made for the controller type (PV controller), velocity precontrol,
load gear, measuring gear, normalization of the speed setpoint interface, leadscrew pitch,
and encoders.
● The fine interpolator should be set to cubic (continuous acceleration) or quadratic
(continuous velocity) interpolation in order for the velocity precontrol to provide continuous
values in the acceleration and deceleration phases.
● The axis data set whose control parameters are to be determined is active (if necessary,
the relevant data set on the drive must also be selected).
● Monitoring and compensation functions are deactivated
– Drift and friction compensation
– Dynamic monitoring of following errors
– Positioning monitoring
Note
Drives are typically linked to the SIMOTION control with PROFIdrive (via PROFIBUS/
PROFINET). The parameters for setting the normalization speed for the SINAMICS,
MASTERDRIVE MC, and SIMODRIVE 611U drive systems are listed below.
For SINAMICS, the normalization speed can be accepted by the drive in the axis wizard; as
of V4.2, it is adapted during runtime. See Coupling of digital drives (Page 55).
Kv controllerStruct.PV_Controller.kv
P controller gain
VTC dynamicData.velocityTimeConstant
Equivalent time of the lower-level drive
(time constant of the balancing filter)
PTC dynamicData.positionTimeConstant
Equivalent time of the position control
loop
controllerStruct.PV_Controller.kpc =0
dynamicData.velocityTimeConstant =0
Position the axis cyclically with a high deceleration rate and trapezoidal velocity profile and
trace the system variables for the set and actual positions of the axis with SIMOTION trace in
SCOUT. Make sure that the axis reaches the constant velocity phase during this operation.
You must also select the deceleration such that the current or torque in the drive is not limited.
VTC: dynamicData.velocityTimeConstant
The velocity precontrol must be activated to determine the time constant.
controllerStruct.PV_Controller.kpc = 100
controllerStruct.PV_Controller.preCon = YES
Position the axis cyclically with a high deceleration rate and record the control error with
SIMOTION trace in SCOUT. Make sure that the axis reaches the constant velocity phase
during this operation. You must also select the deceleration such that the current or torque in
the drive is not limited.
PTC: dynamicData.positionTimeConstant
In this example, this time constant is derived from the time constant of the balancing filter
(VTC), due to the use of velocity precontrol (at 100%). The following relation applies:
PTC = VTC
If the velocity precontrol is not activated, the following is true for PTC:
PTC = 1/Kv
Storing the control parameters
If the control parameters have been entered in the corresponding configuration data in the
target device, they must now be stored as non-volatile data so that they will still be available
the next time the control is powered up. The following online functions are available for this
purpose under the target device in SCOUT.
Function Comments
Copy ACTUAL to RAM Copies the configuration data to the RAM memory on the target
device
Copy from RAM to ROM Non-volatile storage of configuration data on memory card
In order to transfer modified configuration data to the configuration, you must select the Load
configuration data to PG function under the target device in SCOUT and then save the project.
After you have optimized the position controller, you must reset the compensations and
monitoring functions listed under "Requirements", if applicable.
$FFHOHUDWLRQ 'HFHOHUDWLRQ
6WDUW (QG 6WDUW (QG
Y
W
D
W
M
W
YYHORFLW\
DDFFHOHUDWLRQ
MMHUN
WWLPH
$FFHOHUDWLRQ 'HFHOHUDWLRQ
6WDUW (QG 6WDUW (QG
Y
W
D
W
M
W
YYHORFLW\
DDFFHOHUDWLRQ
MMHUN
WWLPH
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 W
6XEVWLWXWHZLWKBPRYH
D
SRVLWLYH$FFHO QHJDWLYH$FFHO
W
QHJDWLYH$FFHO SRVLWLYH$FFHO
SRVLWLYH$FFHO6WDUW-HUN
SRVLWLYH$FFHO(QG-HUN
QHJDWLYH$FFHO6WDUW-HUN
QHJDWLYH$FFHO(QG-HUN
SRVLWLYH$FFHO QHJDWLYH$FFHO
W
SRVLWLYH$FFHO QHJDWLYH$FFHO
SRVLWLYH$FFHO6WDUW-HUN
SRVLWLYH$FFHO(QG-HUN
QHJDWLYH$FFHO6WDUW-HUN
QHJDWLYH$FFHO(QG-HUN
3.13.3 Override
Factors can be superimposed online on the current traversing velocity or acceleration/
deceleration. The velocity override is applied to the velocity, and the acceleration override is
applied to the acceleration and deceleration.
The override values can be set and read via system variables.
The override for the velocity can be set from 0 to 200%.
The override for the acceleration/deceleration can be set from 1% to 1000%.
System variables
● override.velocity
● override.acceleration
Stop time
This time becomes active if the default value is used for the time with _stopEmergency() and
the stopDriveMode=STOP_IN_DEFINED_TIME setting.
For the selection of the screen form, the maximum velocity, maximum acceleration and
maximum jerk fields will be displayed using the setting in the associated configuration date.
This provides the startup time to the maximum velocity and startup time to the maximum
acceleration.
If the maximum velocity or the startup time to the maximum velocity is changed, the dependent
values will be recalculated and displayed. The configuration data will be written directly and
remain at the changed values also for close without write dynamic values.
The startup time to the maximum velocity will be used as startup time assuming the constant
maximum acceleration over this time, i.e. without considering the time for building and
removing the acceleration because of the maximum jerk.
Write dyn. resp. values writes corresponding values to the configuration data and adapts
system variables, see Dynamic limiting functions (Page 163).
See also
Velocity profiles (Page 157)
Defining accelerations and decelerations (Page 159)
Defaults (Page 86)
SOXV/LPLWVaSRVLWLYH$FFHO SOXV/LPLWVaQHJDWLYH$FFHO
W
SOXV/LPLWVaSRVLWLYH$FFHO SOXV/LPLWVaQHJDWLYH$FFHO
SOXV/LPLWV2I'\QDPLFVSRVLWLYH$FFHO-HUN
SOXV/LPLWV2I'\QDPLFVQHJDWLYH$FFHO-HUN
SOXV/LPLWV2I'\QDPLFVQHJDWLYH$FFHO-HUN
SOXV/LPLWV2I'\QDPLFVSRVLWLYH$FFHO-HUN
● plusLimitsOfDynamics.positiveAccel
Technological limit value for the acceleration of the axis in the positive movement direction
● plusLimitsOfDynamics.negativeAccel
Technological limit value for the deceleration of the axis in the positive movement direction
● minusLimitsOfDynamics.positiveAccel
Technological limit value for the acceleration of the axis in the negative movement direction
● minusLimitsOfDynamics.negativeAccel
Technological limit value for the deceleration of the axis in the negative movement direction
● plusLimitsOfDynamics.positiveAccelJerk
Technological limit for the jerk for establishing the acceleration and removing the
deceleration in the positive movement direction
● plusLimitsOfDynamics.negativeAccelJerk
Technological limit for the jerk for removing the acceleration and establishing the
deceleration in the positive movement direction
● minusLimitsOfDynamics.positiveAccelJerk
Technological limit for the jerk for establishing the acceleration and removing the
deceleration in the negative movement direction
● minusLimitsOfDynamics.negativeAccelJerk
Technological limit for the jerk for removing the acceleration and establishing the
deceleration in the negative movement direction
Y
SOXV/LPLWVaSRVLWLYH$FFHO SOXV/LPLWVaQHJDWLYH$FFHO
W
PLQXV/LPLWVaQHJDWLYH$FFHO PLQXV/LPLWVaSRVLWLYH$FFHO
SOXV/LPLWV2I'\QDPLFVSRVLWLYH$FFHO-HUN
SOXV/LPLWV2I'\QDPLFVQHJDWLYH$FFHO-HUN
SOXV/LPLWV2I'\QDPLFVQHJDWLYH$FFHO-HUN
SOXV/LPLWV2I'\QDPLFVSRVLWLYH$FFHO-HUN
PLQXV/LPLWV2I'\QDPLFVSRVLWLYH$FFHO-HUN
PLQXV/LPLWV2I'\QDPLFVQHJDWLYH$FFHO-HUN
PLQXV/LPLWV2I'\QDPLFVQHJDWLYH$FFHO-HUN
PLQXV/LPLWV2I'\QDPLFVSRVLWLYH$FFHO-HUN
The minimum from the maximum value of the axis and the set technological maximum value
for the associated dynamic response quantity are used.
For system created movements with maximum dynamic response values, e.g. travel to the
software limit switch, the minimum from the maximum value and the technological maximum
value is used for the corresponding dynamic response quantity.
SINAMICS drives:
● Drive object type vector
Default setting 1. Speed-controlled operation with ramp-function generator
The motion dynamic response is, therefore, limited in the drive, if applicable.
● Drive object type servo
Default setting 3. Speed-controlled operation without ramp-function generator
The motion dynamic response is not limited in the drive.
When using vector drives, therefore, you must check that the ramp-up/ramp-down time
parameterized for the drive matches the configured axis acceleration/deceleration.
Parameters
● Direction
The direction of motion is defined using either the sign of the velocity specification or a
specific parameter.
● Velocity
An acceleration phase or a deceleration phase can be ended with jerk control using the
velocityType=RESULTING parameter. The resulting velocity is then retained.
See also
Velocity profiles (Page 157)
Defining accelerations and decelerations (Page 159)
3.13.8 Positioning
The axis is moved to a target position via a parameterizable velocity profile. The entry in the
target position is monitored.
See also
Positioning and standstill monitoring (Page 105)
previous positioning motion is reduced to the velocity of the new motion by the time the target
position is reached.
In versions earlier than SIMOTION V4.4, the dynamic response is planned via two traversing
blocks.
As of SIMOTION V4.4, the dynamic response is planned via three traversing blocks (current,
next and next but one) for a newly created axis. It is therefore possible to plan a higher velocity
if necessary for axis motion in the same direction. The setting is saved in the DecodingConfig.
commandsForAxisDynamics configuration data element.
Y
9$
9%
3URILOHZLWKRXW
EOHQGLQJ
$ % W
If the direction is reversed, the previous positioning motion is slowed down at the target point,
and transition to the new motion takes place immediately.
9$
$ % W
9%
If the absolute value of the velocity of the new command is greater than the velocity of the
current motion, the velocity is increased after the transition to the new command, that is, after
the previous target position is reached.
Y
9%
9$
3URILOHZLWKRXW
EOHQGLQJ
$ % W
Y
7RWDOPRWLRQ
YEDVLF
YVXSHU
6XSHULPSRVHG
PRWLRQ
W[6WDUWRIVXSHULPSRVLWLRQ W
See also
Superimposed motion (Page 172)
See also
Overview of traversing with user-defined motion and force/pressure profiles (Page 210)
The MotionIn values can also be directly specified cyclically via the default variables.
72$[LV
BSRV
BPRYH
BSRV ಹ
BPRYH 0RWLRQ
ಹ ,32
BUXQ3URILOH ,32YDOXHVVYD
3URILOH
ಹ ,32
72B&211(&7,21
BUXQ3URILOHಹ
0RWLRQ,Q,QWHUIDFH
BUXQ3RVLWLRQ%DVHG0RWLRQ,Q
9$/8( BUXQ9HORFLW\%DVHG0RWLRQ,Q
72B&211(&7,21ಹ6HWSRLQWVSHFLILHGYLD72LQWHUFRQQHFWLRQ
9$/8(ಹ6HWSRLQWVSHFLILHGYLDF\FOLFDOO\DFWLYHV\VWHPYDULDEOH
Property
● Cyclical inclusion of MotionIn interface values
● Superimposition and overriding motion are possible
● Dynamic response parameters can be predefined in the commands for moving to the
MotionIn values and for stopping
● The dynamic response can be limited via configuration data
● The MotionIn interface on the axis is multipoint-capable
● The reference TO is specified in the activation command
● It is then possible to switch to the reference TO
Note
Further information is available under Interconnection of technology objects in the Motion
Control Basic Functions Function Manual.
6WDUW
VXSHULPSRVHG
PRWLRQ
6XSHULPSRVHGPRWLRQRQD[LV
VXSHULPSRVHGD[LVFRRUGLQDWH
6WDUW
EDVLFPRWLRQ
%DVLFPRWLRQRQD[LV
EDVLFD[LVFRRUGLQDWH
7RWDOPRWLRQRQD[LV
WRWDOD[LVFRRUGLQDWH
$[LVFRRUGLQDWHV
Note
Only one superimposed motion can be active on the axis at a given time, e.g. superimposed
positioning motion or superimposed synchronous operation.
Note
The dynamic limits always relate to the overall dynamic response. This may result in the
superimposed motion having a dynamic response that is not as good as that defined in the
specifications.
The superimposed motion is carried out in the superimposed axis coordinate as relative or
absolute motion, depending on how it was programmed. Likewise, the basic motion of the axis
is executed in the basic axis coordinate as an absolute motion or a relative motion, depending
on the programming.
The timing of the feedback of the superimposed axis coordinate to the basic axis coordinate
is set in the decodingConfig.transferSuperimposedPosition configuration data element; this
setting also specifies when superimposed motions are applied to the basic motion and, thus,
when they are overridden. When the criterion becomes effective, the basic motion accepts the
superimposed motion component.
Possible settings:
● Only on axis reset with _resetAxis()
● On axis reset and on each overriding command where mergeMode= IMMEDIATELY
● On axis reset, on each overriding command where mergeMode=IMMEDIATELY, and on
each axis standstill motionStateData.motionStat=STANDSTILL
In addition, the superimposed axis coordinate/motion is fed back to the basic axis coordinate
in the following cases:
● The axis switches into or out of follow-up mode.
● Switchover occurs between speed-controlled, position-controlled, and force-/pressure-
controlled operation.
● For force-/pressure-controlled operation
Absolute and/or relative traversing is possible in the basic axis coordinate and in the
superimposed coordinate. The total motion of the axis results from adding the position values,
velocity values, and acceleration values of the basic motion and the superimposed motion
together.
By default, these settings are transferred by the drive during the assignment of the axis to a
SINAMICS drive by the system as of V4.2.
By default, the settings for torque granularity (see below as well) are transferred by the system
from the drive:
~.driveData.torqueReductionGranularity = P1544
~.LinearMotorDriveData.ForceReductionGranularity = P1544
Enabling/disabling
The limiting function is disabled by default and must be specifically activated.
The torque limiting is activated using the _enableTorqueLimiting() command and has the
following effect:
● The reduced maximum torque limit is in effect immediately
● The following error and positioning monitoring are disabled
With the function parameter torqueLimitType=USER_DEFAULT (system default), the default
torque limit value set in the userDefaultTorqueLimiting.torqueLimit system variable is used.
This default can be modified by entering a value in the torqueLimit parameter. The value of
the parameter is interpreted as a percentage.
With the setting torqueLimitType=DIRECT, the value is specified as torque or force based on
the torqueLimitUnit parameter. Depending on the torqueLimitUnit parameter, this value refers
to the load or the motor side. For more information, see Conversion of torque/force
(Page 178).
The torque reduction is not disabled with _disableAxis(); it must be explicitly disabled via a
command.
It is disabled/canceled
● With _disableTorqueLimiting()
● In the case of _resetAxis(), _restartAxis(), etc.
● In the case of a transition to STOP
Special features
● The commands for torque limiting (_enableTorqueLimiting()) and travel to fixed endstop
(_enableMovingToEndStop()) cannot be active simultaneously.
The transition from _enableTorqueLimiting() to _enableMovingToEndStop() is permitted
(and has an override effect).
The transition from _enableMovingToEndStop() to _enableTorqueLimiting() is not
permissible since the setpoint must be clamped when retaining the torque in the fixed
endstop.
● The _stopEmergency() command:
If a motion is ended with position control (movingMode = POSITION_CONTROLLED) with
the _stopEmergency() command, the stop ramp is generated from the current set position
in stop modes STOP_IN_DEFINED_TIME, STOP_WITH_DYNAMIC_PARAMETER, and
STOP_WITH_MAXIMAL_DECELERATION.
If a following error has built up at this time due to active torque limiting, it is removed, and
as a result, the axis does not come to an immediate standstill.
For this reason, if you are using torque limiting, you should stop the motion with speed
control (movingMode = SPEED_CONTROLLED). Alternatively, you can select the
WHEN_COMMAND_VALUE_ZERO stop mode for stopping the motion with position
control.
An active torque reduction (including when moving to a fixed end stop) is retained.
Exception:
The _stopEmergency() command with stopDriveMode =
STOP_WITH_COMMAND_VALUE_ZERO disables the torque reduction, and the travel to
fixed endstop command is aborted.
Status displays
Variable Meaning
TorqueLimitingCommand.State
Indicates the torque limiting state.
ACTIVE: Torque limiting activated
INACTIVE: Torque limiting deactivated
TorqueLimitingCommand.torqueLimitingState
Here, it is indicated if the drive is running at the torque limit.
Note: This state is derived from the PROFIdrive profile status word ’MeldW’
(PZD 5), bit 1 (M < Mx) of the drive.
Note
Be sure to set the values in the drive consistently.
See also
Enabling and disabling torque limiting (Page 353)
pitch, and efficiency of the leadscrew are taken into account in this setting. The following
conversion formula applies, whereby S is the leadscrew pitch (adjustable in
leadscrew.pitchval) and η is the efficiency of the leadscrew (adjustable in
leadscrew.efficiency):
F = MMotor x 2 x π x (ηLeadscrew / S) x (motor revolution/load revolution)
Figure 3-78 Function and parameters for travel to endstop with detection of fixed endstop by means
of following error
The motion command is aborted with an error message; closed-loop control remains active.
The setpoint at the input of the position controller is clamped. For new motion commands, the
clamping set position is used as the start position. Motion commands in the direction of
clamping are aborted. Motion commands in the opposite direction to the clamping direction
are executed, thereby reducing the torque.
Travel to fixed stop is canceled when the clamping tolerance window is exited.
Issuing the _enableMovingToEndStop() command again can cause the torque to switch over,
even if clamping is active.
Note
If the clamping torque is increased during clamping (by a new _enableMovingToEndStop()
command), then this torque might not be achieved. Position control is active, but no more
setpoints are generated for a motion in the direction of clamping.
System variables
Note
In the case of travel to fixed stop with fixed stop detection by means of the following error,
the entry for the position tolerance applicable to the fixed stop detection should be significantly
less than the entry for the following error for the fixed stop detection.
Note
If the "travel to fixed stop" function is to be used in combination with the
RecognitionMode=CLAMP_WHEN_TORQUE_LIMIT_REACHED setting, the following
setting must also be made on the 611U and in SINAMICS:
● 611U
Set parameter P1426 ("tolerance band for nset = nact message") to the maximum speed
of the drive (P880).
● SINAMICS
Set parameter P2163 ("Speed 4 threshold value") to the maximum possible value.
● Axis with digital drive link and no setting of a 1xx telegram (i.e. telegram without torque
reduction and without actual torque identification)
The "travel to fixed stop" functionality is only possible by means of the following error
criterion.
You will also find further information about travel with torque limiting and travel to fixed stop in
the corresponding drive documentation.
See also
Overview of torque limiting via torque reduction (Page 174)
Note
The SetpointDriverInfo.DriveData.maxTorque or
SetpointDriverInfo.LinearMotorDriveData.MaxForce configuration data and the P2003
parameter on the drive serve as normalization basis on the axis. The values must be equal.
See also Chapter Overview of torque limiting via torque reduction (Page 174) Section
Specification of the values and transfer from the drive.
NOTICE
Scaling of additional torque 1
The P1512 parameter ("Additional torque 1 scaling") must be interconnected with 100% so
that M_Add is transferred correctly.
Activation in SIMOTION
The technology data block is created when the axis is configured.
The technology data block can only be assigned correctly by the system for active symbolic
assignment, manual telegram setting and deactivated automatic telegram extension when the
correct BICO interconnection for the technology data block is available on the drive side.
Alarms
20005 "Logical address of technology data block driver not found"
The limiting values and additive values are initialized/transferred regardless of the activation
and error status of the axis.
By specifying the upper limit B+ and the lower limit B-, it is possible to enter a specific range
that does not have to be symmetrical with respect to the zero position.
The limit values can be predefined on the axis directly by means of cyclically effective system
variables. These values can be preset.
The limit values can also be defined on the axis by means of interconnection with other
technology objects.
The B+ value and the B- value can be interconnected by means of an LREAL interface or an
LREAL connector (using a formula object or a controller object, for example).
See also:
● SIMOTION Supplementary Technology Objects function description
● Motion Control Basic Functions manual, Interconnection using general interconnection
dialog box and 'LREAL' interface type chapters
Note
If the manipulated variable is inverted on the Axis technology object, then B+/B- are also
reversed on the Axis technology object. You must take this into account when specifying
the torque limits B+/B-.
Units
The unit settings are used.
The physical quantity depends on the type of motor:
● For rotary motors: Torque [Nm]
● For linear motors: Force [N]
The torque limits are deactivated or aborted using the following commands:
● _disableAxisTorqueLimitPositive() / _disableAxisTorqueLimitNegative()
● _resetAxis(), _restartAxis(), etc.
● In the case of a transition to STOP
If the function is not activated, the maximum torque and maximum force are output via the
interface in accordance with maxTorque and maxForce.
With activated torque limiting B+ / B- (_enableAxisTorqueLimitPositive() /
_enableAxisTorqueLimitNegative()), as of V4.2, with setting
TypeOfAxis.SetPointDriverInfo.DriveData.torqueReference, the = MAX_VALUE maximum of
the set value in ~.DriveData.maxTorque or maxForce is transferred to the drive.
In the versions <V4.2 up to 200% of this value are possible with activated torque limitation.
If the torque limiting function B+ / B- is not activated, the maximum value set in ~.maxTorque
is transferred in V4.2 as well as in versions <V4.2.
When using the technology data block and with the setting ~.torqueReference = MAX_VALUE
in ~.maxTorque , the 100% reference value for torque transmission to the drive must be set,
i.e., for the value corresponding to p2003 (reference torque), a greater maximum torque is
possible in the drive, in accordance with the value in p1520 (maximum torque).
The separation of reference and maximum torque has been introduced in the reference
variables with V4.2.
In projects with V4.2 or higher, the new configuration data ~.torqueReference is set to
MAX_VALUE. As such, only the reference torque value can be set as maximum torque
limitation without changing projects.
Remedy:
If, in the case of activated torque limiting, a value greater than the reference value in p2003 is
transferred to the drive, ~.torqueReference = NOMINAL_VALUE needs to be set, in
~.nominalTorque the value corresponding to p2003 and in ~.maxTorque the value
corresponding to p1520 must be entered.
With the deactivated torque limiting function B+ / B, the set value in maxTorque is transferred
to the drive.
For new TOs created in V4.2, ~.torqueReference = NOMINAL_VALUE is set, as well as for
the default set adaption the reference values for ~.nominalTorque and ~.maxTorque for
runtime are transferred from the drive.
System variables
Variable Meaning
torqueLimitPositiveIn Value, state and validity of the interconnected positive limitation
torqueLimitPositiveInDefault Default
torqueLimitNegativeIn Value, state and validity of the interconnected negative limitation
torqueLimitNegativeInDefault Default
torqueLimitPositive Shows the programmed limit value
torqueLimitNegative
torqueLimitPositiveCommand Command status / function status
torqueLimitNegativeCommand
See also
Coupling of digital drives (Page 55)
Technology data (Page 183)
Unit
The unit setting is used.
The physical quantity depends on the type of motor:
● For rotary motors: Torque [Nm]
● For linear motors: Force [N]
Commands
_enableAxisAdditiveTorque() enables the additive torque.
The additive set torque is not disabled with _disableAxis(); instead it must be explicitly
deactivated via a command.
It is disabled/canceled
● with _disableAxisAdditiveTorque()
● In the case of _resetAxis(), _restartAxis(), etc.
● In the case of a transition to STOP
System variables
Variable Meaning
additiveTorqueIn Value, state and validity of the additive set torque
defaultAdditiveTorque Default
additiveTorque Value that is sent to the drive (before normalization)
See also
Coupling of digital drives (Page 55)
IRUFH6WDWH'DWDFRPPDQG9DOXH
3UHVVXUH
),32
SVHW SVHW FRQWUROOHU QVHW 3UHVVXUHFRQWUROOHUHQDEOHGGLVDEOHG
SDFWXDO
)LQHLQWHUSRODWLRQ
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
You can call signal flow diagrams under the Axis object in the project navigator. The signal
flow diagram illustrates the signal path and enables major items of configuration data and
important system variables to be parameterized using the signal flow.
Remark
While the force/pressure controller is active, the position values of the IPO are corrected.
Switchover between position-controlled motion and force/pressure-controlled motion is
performed by the application.
Fine interpolation
The force/pressure values undergo linear fine interpolation (V4.1 SP1 and later).
See also
Force/pressure control with hydraulic speed-controlled axes with Q valve only (Page 324)
Technology data (Page 183)
The various sensors can be of different types and have different interfaces. The sensor for the
transition criterion can be specified in the switchover command.
There can be up to eight (8) sensors for the force/pressure value on the axis and up to eight
(8) binary inputs on the axis, for example, for switchover criteria.
Because the sensor can be accessed via the logical address, the same sensor can therefore
be used on several axes. The sensor data must be set separately on each axis.
In V4.0 or higher, a calculated value from the user program can also be specified as the actual
sensor value via the cyclically effective forceActualValueSetting.value system variable. This
requires the setting additionalSensorType= SET_ACTUAL_VALUE.
The force/pressure sensor interface can be activated and deactivated on the axis using the
_enableAxisInterface() and _disableAxisInterface() commands.
VHUYR'DWDHIIHFWLYH6HUYR&RPPDQG9DOXH
VHUYR'DWDFRPSHQVDWHG6HUYR&RPPDQG9DOXH
IRUFH&RQWUROOHU6HWWLQJVDGGLWLRQDO9DOXH 7UDYHUVLQJVHWSRLQW
IRUFH&RQWUROOHU6HWWLQJVDGGLWLRQDO9DOXH6ZLWFK
3UHVVXUHOLPLWLQJYDOXH
IRUFH&RQWUROOHU'DWDWRDO&RPPDQG9DOXH
6XPPDWLRQ
IRUFH&RQWUROOHU'DWDDQWL:LQGXS
/LPLW
YDOXHDQGDQWLZLQGXS
$SSOLFDWLRQ 3UHVVXUH
6HWSRLQW 37ILOWHU
GLUHFWLRQ FRQWUROOHU
VXSHULPSRVHG
,FRQWUROOHU PDQLSXODWHG
YDULDEOH
SVHW
IRUFH6WDWH'DWDFRPPDQG9DOXH IRUFH&RQWUROOHU'DWDILOWHUHG9DOXH
FRPPDQG'HULYHG9DOXH 3FRQWUROOHU
IRUFH&RQWUROOHU'DWDFRQWUROOHU2XWSXW
SDFWXDO IRUFH&RQWUROOHU'DWDOLPLWHU6WDWH
IRUFH6WDWH'DWDDFWXDO9DOXH
IRUFH&RQWUROOHU'DWDDFWXDO9DOXH IRUFH&RQWUROOHU'DWDOLPLWHU2XWSWXW
'FRQWUROOHU
IRUFH&RQWUROOHU'DWDL9DOXH
IRUFH&RQWUROOHU'DWDFRQWUROOHU'LIIHUHQFH
IRUFH&RQWUROOHU'DWDS9DOXH
IRUFH&RQWUROOHU'DWDG9DOXH
Reducing the I component via the user program (as of V4.1 SP1):
It is now possible to reduce the I component of the pressure controller with a PT1 filter (setting
in PID_Controller.iValueFeedbackTimeConstant configuration data element) using the write-
accessible forceControllerSettings.integratorMode system variable from the user program.
This enables faster reduction of the I component, for example, following the switchover from
pressure limiting to pressure control.
See also
Compensations that are active only on the axis with hydraulic functionality (Page 314)
3.20.4 Monitoring functions / limiting functions / emergency strategies with active force/
pressure control
The actual force/pressure value is monitored for a maximum value or limit value. The control
deviation is monitored for a maximum value.
Based on a force/pressure entry window, you can monitor correct termination of a force/
pressure profile (force/pressure entry monitoring) – refer to positioning monitoring during
positioning.
You can also monitor observance of a constant force/pressure setpoint within a tolerance band
(force/pressure end value monitoring) – see standstill monitoring on a position-controlled axis.
Note
To allow an immediate stop with active force/pressure control, e.g. via the
_stopEmergency() command (stopDriveMode=WITH_COMMAND_VALUE_ZERO), the
control switches to pressure limitation and, with pressure limitation active for the force/
pressure setpoint, moves to velocity 0 using the specified velocity profile for active position
control.
If the STOP_EMERGENCY alarm response occurs for active pressure control, a switch
is made to position control using pressure limitation. The pressure setpoint is active at the
switching point. If in this case, the actual pressure value is higher than the pressure
setpoint or limit value, the actual pressure value will be removed appropriately.
See also
Dynamic limiting functions (Page 163)
● Direct activation
Direct activation is achieved using the axis-enable command (_enableAxis() or
_enableQFAxis()) (forceControlMode parameter = ACTIVE). When enabled, the last actual
force/pressure value is taken as the force/pressure setpoint. The position controller must
also be enabled.
The direct activation of the pressure control is possible in the stopped state
(motionStateData.stillStandVelocity = ACTIVE).
● Direct deactivation
Direct deactivation occurs via the command to reset the axis enable or the command for
axis enable without the parameter for force/pressure control.
● Automatic activation with condition
There is a separate command for automatic activation. The conditions are verified and the
switchover takes place in the position control cycle clock. The axis is switched over to a
pressure-time profile. The conditions (force, pressure, position, time, and input) are
specified in the command and can be linked in the command in several stages. The
conditions can also be changed before they occur by reissuing the command. The force,
pressure, position, and time are stored at the time of switchover. The values are available
through system variables.
Note
In certain situations, the reference to the current manipulated variable can cause problems.
This is the case, for example, when an offset compensation is active. The PTC for the
switching time should then be set to zero. PTC can be switched with the data set.
[VHW
),32 ,QWHJUDWRU
SRVLWLRQLQJ6WDWHSRVLWLRQ
3UHVVXUHOLPLWLQJ
FRQWUROOHU
IRUFH6WDWH'DWDFRPPDQG9DOXH
),32
SOLPLW SOLPLW
SDFWXDO
)LQHLQWHUSRODWLRQ
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
You can configure the monitoring functions to remain active with external pressure/force
limiting in the servoMonitoring.motionMonitoringWhenExternalForceLimiting configuration
data element.
A PT2 filter on the force/pressure limiting controller output (as of V3.2) will prevent abrupt signal
changes. The filter time constants can be modified online and take effect immediately.
The pressure limiting value is not subject to fine interpolation if _enableForceLimitingValue()
or _enable...LimitingProfile() with derivativeLimitingMode=WITHOUT_LIMITING is set.
The status of the pressure limiting is displayed via the system variable
forceControllerData.limitingState. The requirement for updating the status variable is that the
pressure controller must be in operation (kp must not be equal to 0).
See also
Force/pressure limiting with hydraulic speed-controlled axes with Q valve only (V4.0 and
higher) (Page 325)
Y
Y,32
$
YOLP
$
W
Figure 3-84 Position-related motion with pressure limitation and cyclic continuation
This example shows a v/t profile in which the velocity is reduced by the pressure limitation.
Cyclic continuation allows continuous interpolation to the end point, starting from the current
position and, optionally, the velocity.
The decodingConfig.cyclicSetUpInForceLimiting configuration data element defines how the
continuation should take place.
With the setting decodingConfig.cyclicSetUpInForceLimiting = POSITION_BASED, cyclic
continuation at the current set position and the non-reduced velocity of the interpolator takes
place.
Note
Cyclic continuation is not practicable with active torque limitation. In this case, the
torque limitation takes place in the drive, and the setpoints limited by the drive are not
known to the control.
3.21.3 Increase limiting for pressure profiles and pressure limiting (V3.2 and higher)
Increase limitation can be specified for _enable…ForceLimiting() commands.
Determining the output value for the increase limitation
When determining the output value, it is necessary to ascertain whether the pressure limitation
is already active when the _enable…ForceLimiting() command is activated.
Note
If you prefer to specify the output value directly:
- Use _enableForceLimitingValue() to set the output value
- Wait until the value is reached
- Use a new command to ramp up to the target value
A programmed increase limitation can then be used to move to new values.
The individual data sets appear next to each other on the Axis data sets tab.
Configuration data which must be the same for all data sets can only be entered in ADS 1. A
change in ADS 1 is only mapped in the other ADS if the configuration data has to be set
identically for all ADS.
If parameters for axis data sets undergo changes in the expert list, consistency conditions may
be violated (check during download). This may happen with controller settings, for example.
In this case, the line and cell are highlighted on the Axis data sets tab.
Only variables which are effective immediately can be changed online.
The parameter assignment dialog boxes for the Axis technology object (e.g. Control) display
the configuration data for one data set at a time. A function bar at the bottom of the dialogs
features a combo box with the option to switch over the axis data set. This
switches over the data set displayed (not the active data set).
Note
Please also note the tooltips above the parameter fields in the individual screen forms for the
axis. These show the name of the variable, from which you can also tell whether the variable
is assigned to a specific axis data set.
The number of data sets is specified with the structural elements for the NumberOfDataSets
configuration data element. Up to 16 data sets are possible.
The data set changeover mode is specified in the NumberOfDataSets.changeMode parameter.
Note
Please also note the tooltips above the parameter fields in the individual screen forms for the
axis. These show the name of the variable, from which you can also tell whether the variable
is assigned to a specific encoder.
Note
If the active measuring system is switched via a data set changeover, the
_setAndGetEncoderValue() system function should be used to synchronize the two
measuring systems before the switchover takes place. This will prevent unwanted
compensating movements of the position controller if differences in position are identified.
See also
Activating data sets (Page 367)
Writing a data set (Page 368)
Reading a data set (Page 368)
Writing the force/pressure-specific data of a data set (Page 368)
Reading the force/pressure-specific data of a data set (Page 369)
Writing the data of the data set (hydraulic functionality only) (Page 369)
Reading the force/pressure-specific data of the data set (hydraulic functionality only)
(Page 369)
5DQJH
'RPDLQ
Application:
Specific adaptation and optimization of traversing specifications.
Additional information about cams can also be found in the SIMOTION CamTool Manual and
in the SIMOTION SCOUT online help.
1) Actual position of axis – the axis position is assigned to the definition range.
2) Interconnected position – the actual position present at the MotionIn interface is assigned to the definition range.
Time-related profiles
The domain of the cam to be used in the command is interpreted as time in the time unit of
the axis. The profile can be executed from start to finish or, alternatively, from a starting point
that can be predefined.
Table 3-40 Possible commands for reference to a position interconnected via MotionIn
Command Description
_runMotionInPositionLockedForceProfile() Force profile related to an interconnected position (MotionIn)
_runMotionInPositionLockedVelocityProfile() Velocity profile related to an interconnected position (MotionIn)
_enableMotionInPositionLockedForceLimitingProfile() Force limiting profile related to an interconnected position
(MotionIn)
_enableMotionInPositionLockedVelocityLimitingProfile() Velocity limiting profile related to an interconnected position
(MotionIn)
Position profile
The range of the cam to be used in the command is interpreted as the position in the position
unit of the axis. The motion direction, position, acceleration, and jerk are calculated from this
relationship.
The position reference to the axis can be selected as either absolute or relative.
A transition profile is generated by the axis for discontinuous transitions. The dynamic response
parameters of this profile are specified using the command profile parameters for acceleration,
jerk, and velocity.
21B352),/(
VWRS :,7+287B$%257
352),/(B(1'
BUXQ3URILOH
BFRQWLQXH
127B$&7,9$7('
67233('B:,7+287B$%257
127B$&7,9$7('
,1B,17(532/$7,21B%87B127B21B352),/(
See also
Positioning with user-definable position profile (Page 352)
Enable force/pressure limiting with position-related force/pressure limiting profile (Page 353)
Enabling force/pressure limiting with time-related motion profile (Page 354)
Starting the time-related force/pressure profile (Page 355)
Starting the position-related force/pressure profile (Page 356)
Starting a time-related velocity profile (Page 350)
Starting a position-related velocity profile (Page 351)
Enabling velocity limiting with position-related velocity limiting profile (Page 358)
Enabling velocity limiting with time-related velocity limiting profile (Page 359)
Setting Meaning
MOVE_WITH_CONSTANT_SPEED Constant continuous motion
● Position/velocity:
Hold value
● Force/pressure:
Hold value
STOP_IN_PROFILE_END Decelerate to target point/velocity 0
● Position/velocity:
Velocity 0 at the end of profile (via ramp)
● Force/pressure:
Value at the profile end point (= Hold value)
STOP_WHEN_PROFILE_END_REACHED Decelerate after completed traverse
● Position/velocity:
Velocity 0 when end of profile reached (via ramp)
● Force/pressure:
Value at the profile end point (= Hold value)
Note
For position-related profiles with the setting STOP_IN_PROFILE_END, it should be
remembered that the velocity calculated by the system can cause vibration.
Setting for shorter axis reaction times (e.g. faster start of motion) (as of V4.1 SP1)
The Execution.executionLevel=SERVO or processing clock = Servo setting in the
configuration screen form can be used to execute the IPO system component of the axis in
the servo following actual value measurement. After the actual value system in the servo, the
IPO system functionality is calculated first, followed by the controller and the setpoint system.
This reduces the response time to the switching of external signals or synchronous operation
in the control to one servo cycle clock.
Note
Due to the higher performance requirement, this setting should only be used for selected (i.e.
a limited number of) axes.
Temporarily high IPO system components in the servo of the axis can result in a level overflow
in the servo, thus causing the CPU to go to STOP mode.
For the possible setting Servo_fast, see the chapter titled Second position control cycle clock
(Servo_fast) in the Motion Control Basic Functions manual.
Because the ServoSynchronousTask is executed before the IPO system component in the
servo level even if execution.executionLevel=SERVO is set, this enables a very rapid response
with motion affected at user level as well.
&RQWURO
,SR6\QFKURQRXV7DVN ,SR7DVN
,32
6HUYR6\QFKURQRXV7DVN 6HUYR7DVN
6(592
'DWD,Q 'DWD2XW
$F\FOLFGDWD )LHOGEXV
&\FOLFGDWD ';
*OREDO&RQWURO
/HJHQG
$SSOLFDWLRQ
6\VWHPIXQFWLRQV 7HFKQRORJ\REMHFWV XVHUSURJUDP
7DVNVHWWLQJ'36HUYR,32
See also the chapters titled Execution system/Tasks/System cycle clocks and Dynamic
response to data processing in the control in the Motion Control Basic Functions Function
Manual.
Command Position
_continue() 1
Resume motion
_stop() 1
Stop a motion without traversing command abort
_stop() 4
Stop a motion with traversing command abort
_stopEmergency() 1
Stop the motion with cancellation of the motion commands without further
motion commands having any affect
_disableAxis() 2
Remove axis enable
_disableQFAxis() 2
Remove enable for axis with hydraulic functionality
_enableAxis() 2
Set axis enable
_enableQFAxis() 2
Set enable for axis with hydraulic functionality
_adaptAxisConfigData() 3
Adapts the characteristic data for motors and/or encoders
_disableAxisAdditiveTorque() 3
Deactivate additive set torque
_disableAxisSimulation() 3
Disable simulation mode
_disableForceLimiting() 3
Deactivate force/pressure limiting
_disableMovingToEndStop() 3
Disabling command for travel to fixed endstop
_disableTorqueLimiting() 3
Deactivate torque limiting
_disableAxisInterface() 3
Deactivate actuator interface
_disableAxisTorqueLimitNegative() 3
Activate negative torque limiting
_disableAxisTorqueLimitPositive() 3
Activate positive torque limiting
_disableMonitoringOfEncoder() 3
Deactivate differential encoder monitoring
_disableVelocityLimiting() 3
Deactivate velocity limiting
_enableAxisAdditiveTorque() 3
Activate additive set torque
Command Position
_enableAxisInterface() 3
Activate actuator interface
_enableAxisSimulation() 3
Enable simulation mode
_enableAxisTorqueLimitNegative() 3
Activate negative torque limiting
_enableAxisTorqueLimitPositive() 3
Activate positive torque limiting
_enableForceControlByCondition() 3
Switch over to p(t) profile with switchover criterion
_enableForceLimitingByCondition() 3
Switchover to force/pressure limiting when the switchover criterion defined in
the command is reached
_enableForceLimitingValue() 3
Activate force/pressure limiting with constant force/pressure limit value
_enableMonitoringOfEncoder() 3
Activate differential encoder monitoring
_enableMotionInPositionLockedForceLimitingProfile() 3
Force limiting profile related to an interconnected position (MotionIn)
_enableMotionInPositionLockedVelocityLimitingProfile() 3
Velocity limiting profile related to an interconnected position (MotionIn)
_enableMovingToEndStop() 3
Enabling command for travel to fixed endstop
_enablePositionLockedForceLimitingProfile() 3
Activate force/pressure limiting with p(s) profile
_enablePositionLockedVelocityLimitingProfile() 3
Activate velocity limiting with position-related limiting profile
_enableTimeLockedForceLimitingProfile() 3
Activate force/pressure limiting with time-related limiting profile
_enableTimeLockedVelocityLimitingProfile() 3
Activate velocity limiting with time-related limiting profile
_enableTorqueLimiting() 3
Activate torque limiting
_enableVelocityLimitingValue() 3
Activate velocity limiting
_redefinePosition() 3
Reset actual and set position
_setAndGetEncoderValue() 3
Synchronize measuring systems
_setAxisDataSetActive() 3
Switch over data set
_homing() 3
Homing 4 homingMode =
ACTIVE_HOMING
Command Position
_move() 4
Rotate 3 for mergeMode =
SUPERIMPOSED
_pos() 4
Positioning 3 for mergeMode =
SUPERIMPOSED
_runMotionInPositionLockedForceProfile() 4
Force profile related to an interconnected position (MotionIn) 3 for mergeMode =
SUPERIMPOSED
_runMotionInPositionLockedVelocityProfile() 4
Velocity profile related to an interconnected position (MotionIn) 3 for mergeMode =
SUPERIMPOSED
_runPositionBasedMotionIn() 4
Activate MotionIn interface with position reference 3 for mergeMode =
SUPERIMPOSED
_runPositionLockedForceProfile() 4
Run a p(s) profile
_runPositionLockedVelocityProfile() 4
Apply a v(s) profile 3 for mergeMode =
SUPERIMPOSED
_runTimeLockedForceProfile() 4
Run a p(t) profile
_runTimeLockedPositionProfile() 4
Apply an s(t) profile 3 for mergeMode =
SUPERIMPOSED
_runTimeLockedVelocity() 4
Apply a v(t) profile 3 for mergeMode =
SUPERIMPOSED
_runVelocityBasedMotionIn() 4
MotionIn interface with velocity reference activated 3 for mergeMode =
SUPERIMPOSED
_setForceCommandValue() 4
Set force/pressure setpoint
_bufferAxisCommandId() 5
Store command status permanently
_cancelAxisCommand() 5
Abort command with the specified CommandID
_getAxisDataSetParameter() 5
Read a data set
_getAxisErrorNumberState() 5
Read out error number status
_getAxisErrorState() 5
Read out error status, alarm number and alarm parameter of up to eight
pending alarms
Command Position
_getAxisInternalPosition() 5
Convert from axis coordinates to encoder position values
_getAxisStoppingData() 5
Calculate braking distance depending on a specified actual velocity, actual
acceleration, traversing profile and dynamic response parameters
_getAxisUserPosition() 5
Convert from encoder positions to axis coordinate system
_getForceControlDataSetParameter() 5
Read a data set
_getMotionStateOfAxisCommand() 5
Read out motion phase of a command
_getProgrammedTargetPosition() 5
Display programmed absolute end position including superimposition
_getStateOfAxisCommand() 5
Read out command status
_getStateOfMotionBuffer() 5
Shows whether the command queue can be filled
_getQFAxisDataSetParameter() 5
Read specific parameters for the axis with hydraulic functionality in the data set
_removeBufferedAxisCommandId() 5
End permanent storage of the command status
_resetAxis() 5
Reset axis
_resetAxisConfigDataBuffer() 5
Clear the configuration data in the buffer without activation
_resetAxisError() 5
Reset error on the axis
_resetMotionBuffer() 5
Reset command queue
_setAxisDataSetParameter() 5
Overwrite data set
_setAxisSTW() 5
Specify control bits in STW1 directly
_setForceControlDataSetParameter() 5
Overwrite data set
_setQFAxisDataSetParameter() 5
Overwrite the specific parameters for the axis with hydraulic functionality in an
inactive data set
_setQFAxisPCharacteristics() 5
Set characteristics for P value
_setQFAxisQCharacteristics() 5
Set characteristics for Q value
● SEQUENTIAL (attach)
Append to previous commands/motions.
● SUPERIMPOSED_MOTION_MERGE (superimpose)
Superimposed motion on the axis is possible in addition to the basic motion
72LQVWDQFH
0RWLRQ%XIIHU
352*5$0
6(48(17,$/
&RPPDQG,G
1(;7B
0RWLRQFRPPDQG 027,2
1
SDUDPHWHU
683
(5,0
326
,00 ('B
&RPPDQG,G (',$ 027
,21B
7(/ 0(5
< *(
&RPPDQGSDUDPHWHU
&RPPDQGJURXSV
1RWDOORFDWHGWRWKHFRPPDQGEXIIHUVFRPPDQGVDUHH[HFXWHGV\QFKURQRXVO\DVFDOOHG
6HHDOVRDOORFDWLRQ LQWKHWDEOHWLWOHG$OORFDWLRQRIFRPPDQGVWRWKHFRPPDQGEXIIHUV
3RZHURQ
$[LV
FDQEH
DFWLYDWHGLQDFWLYH
BGLVDEOH$[LV BUHVHW$[LV(UURUBUHVHW$[LV
)DXOW
BHQDEOH$[LV BGLVDEOH$[LV
BVWRS(PHUJHQF\ BUHVHW$[LV(UURUBUHVHW$[LV
6WRS(PHUJHQF\ $[LV
(UURU
$FWLYH
BUHVHW$[LV )DXOW
)DXOW
0RWLRQ
BVWRS BFRQWLQXH
0RWLRQVWRS
ZLWKRXWDERUW
When the axis is configured as an axis with hydraulic functionality (QFAxis) in TypeOfAxis,
_enableAxis() must be replaced with _enableQFAxis() and _disableAxis() must be replaced
with _disableQFAxis() in the state model for the axis.
The status of _stopEmergency() is displayed in the stopEmergencyCommand system variable.
Following a reset, this variable must be scanned explicitly by means of _disableAxis().
Table 3-44 The following commands and functions are active in the individual states of the axis:
*1 Axis can be enabled/is inactive with respect to motion control of the axis; also includes
the disabled state
*2 For active drive, output and control:
● Switch from follow-up mode or to follow-up mode
● Enable/disable the control
*3 Depending on the stop or error states, _disableAxis() / _disableQFAxis() and
_stopEmergency() are permitted
*4 Faults are handled according to existing criteria. Higher-priority local stop reactions can
be handled.
*5 Superimposed motions and motions on the following axis are included.
*6 resetAxis() permitted
*7 Motion commands permitted
*8 If axis is in position control
Note
Errors can be acknowledged in SIMOTION SCOUT, the program or the operating panel.
You can find additional information under Error handling in the Motion Control Basic
Functions Function Manual.
You can find the LDPV1 library in the SIMOTION Utilities & Applications included in the scope
of delivery of SIMOTION SCOUT (under Applications > Cross-sector applications > Drive
communication).
Each individual function supported is accompanied by documentation describing the actual
application.
Note
As of SIMOTION firmware V4.2, time-of-day synchronization between SIMOTION and
SINAMICS is automatic.
The dialog for drive assignment supports both immediate and retrospective drive assignment.
Furthermore, a new drive can be created and assigned to the axis. See also Coupling of digital
drives (Page 55).
Drive
A drive is controlled with +/- 10 V via an analog interface.
Axis-drive connection
An axis is connected to a drive by entering the logical address of the selected analog output
of the SIMOTION device when the axis is configured. Use the axis configuration wizard to do
this.
If you change the hardware configuration in HW Config at a later time, the specified logical
addresses may become incorrect. In this case, repeat the configuration in the hardware
configuration wizard.
Make sure that the Volt >> Speed setting in the drive matches the setting in the axis.
ADI4/IM174
In addition to the option of operating analog axes on the onboard inputs of the C2xx, the ADI4
and IM 174 modules are available for use in all platforms as interfaces for analog drive
connections. From the SIMOTION perspective, these modules behave like digital drive links.
See also Coupling of digital drives (Page 55) for more information.
You can find further information in the ADI4 - Analog drive interface for 4 axes and Distributed
I/O, PROFIBUS module IM174 manuals.
See also
Coupling of digital drives (Page 55)
Setting as a real axis with analog drive link (Page 38)
An axis with stepper motor connection can be moved either with or without an encoder. With
an encoder, the actual value signals are read in via the encoder interface; without an encoder,
the actual value information is generated from the output motor pulses.
Note
The product of the maximum frequency of the stepper motor and the reciprocal of the number
of steps per motor revolution gives the maximum speed available to the control loop
(corresponds to maxSpeed for conventional drives).
Note
When an encoderless stepper motor connection is configured on a position axis, an encoder
input is still automatically reserved and cannot be used for an external encoder, for example.
With a drive axis, the encoder interface is available for and can be assigned to an Axis or
External Encoder technology object.
For operation without an encoder, additional data can be specified in the configuration data
for rotation monitoring.
● NumberOfEncoders.Encoder_1.stepMotorMonitoring.enable for enabling/disabling the
monitoring function
● NumberOfEncoders.Encoder_1.stepMotorMonitoring.beroCycleDistance for setting the
permitted deviation in terms of motor steps per revolution
● NumberOfEncoders.Encoder_1.stepMotorMonitoring.beroCycleTolerance for setting a
tolerance range around the beroCycleDistance
Rotation monitoring can be activated for operation without an encoder:
An external zero mark is used and is connected to the associated external zero mark input of
the axis channel.
For a linear axis, the external zero mark must monitor the rotation of the motor shaft.
If a signal is not received within the specified motor steps + tolerance, a technological alarm
is issued.
IM174/PROFIBUS drives
In addition to the option of operating stepper drives on the onboard inputs of the C2xx, the
IM174 module is available for use in all platforms as an interface for stepper drives. From the
SIMOTION perspective, stepper drives linked via IM174 behave like digital drive links.
Alternatively, stepper drives can be linked with a PROFIBUS interface if they support the
PROFIdrive profile. See Coupling of digital drives (Page 55).
You can find more information in the Distributed I/O IM 174 PROFIBUS Module Manual.
See also
Position control (Page 113)
Setting as a real axis with stepper drive C2xx (V3.2 and higher) (Page 57)
Stepper drives (Page 145)
Note
In individual SIMOTION applications, it may be necessary to change automatically specified
parameters. These configuration data and system variables can only be displayed and
changed in the expert list.
Requirements
The conditions for the automatic speed controller setting and position controller setting are
listed below. You can find additional requirements for the automatic position controller setting
in the section about the automatic position controller setting (Page 242).
● Drive is a SINAMICS drive
● Drive is operated in the "SERVO" operating type
● The control is performed with the motor encoder
● An online connection to the associated drive device exists
Note
The software limit switches for the axes do not function during automatic controller setting.
Note
In certain cases, automatic controller setting may not be able to determine the optimum
controller settings for servo. This applies to the positioning of band-stops, for example.
Supported devices
An automatic controller setting is possible with the following devices: SINAMICS Integrated,
CX32, CX32-2, S120 - CU320, S120 - CU320-2, S120 - CU310 and S120 - CU310-2.
Procedure
The sequence below must be followed for the automatic controller setting:
Note
You can cancel automatic controller setting by pressing the SPACEBAR.
● The step currently being executed is canceled.
● The drive enable is inhibited.
See also
Overview of commissioning the position controller of positioning axes (Page 150)
Assigning automatic controller optimization (Page 371)
Features
The automatic speed controller setting has the following characteristics:
● Damping of resonances in the speed control section
● Setting of filters in the current setpoint branch
● Automatic setting of the Kp gain factor and the Tn reset time of the speed controller
● The speed setpoint filter and the reference model are not changed
The requirements for the speed controller setting are described in Overview of the automatic
controller settings (Page 238).
1. In the project navigator, select the SINAMICS unit with the drive for which you want to
perform the automatic setting
2. Load it to the programming device (Target System - Load - Load to PG…)
To restore the data, perform a download.
Procedure
Perform the following steps for the automatic setting of the speed controller:
1. Call the Automatic Controller Setting screen form (the automatic speed controller setting is
already preset in the Controller field)
2. Select the drive unit and drive
3. Assume control priority
4. Enable the drive
5. Perform these four steps in automatic mode or in individual steps
6. Consider the calculation results for the relevant parameters
7. Transfer the calculated speed controller parameter values to the drive
8. Disable the drive
9. Return control priority
10.Save the online parameters
Note
Emergency cancelation of automatic setting with <space key>
The following actions are performed:
● The step currently being executed is canceled
● The drive is disabled
Note
If required, the automatic controller settings can be checked using the measuring functions.
See also
SIMOTION measuring functions (Page 245)
Assigning automatic controller optimization (Page 371)
● DSC or DSC with spline is required for the position controller setting.
– You use a telegram that supports DSC (telegram 5, 6, 105, 106, 125 or 126)
– If you have selected a telegram which does not support DSC, you must select one of
the telegrams mentioned above instead.
As various presettings are required for DSC that can only be set when running through
the axis wizard the first time, you have to make these settings manually:
- Static controller data: Precontrol with weighting factor 100%
(NumberOfDataSets.DataSet_1.ControllerStruct.PV_Controller.preCon = YES and
NumberOfDataSets.DataSet_1.ControllerStruct.PV_Controller.kpc = 100%)
- Static controller data: Symmetry filter (extended symmetry filter active)
(NumberOfDataSets.DataSet_1.ControllerStruct.PV_Controller.balanceFilterMode =
MODE_2)
- Static controller data: Fine interpolator (acceleration continuous interpolation)
(FineInterpolator._type = CUBIC_MODE)
- Dynamic controller data: Speed control loop 0.0 equivalent time and position control
loop 0.0 equivalent time
(NumberOfDataSets.DataSet_1.DynamicData.positionTimeConstant = 0.0 and
NumberOfDataSets.DataSet_1.DynamicData.velocityTimeConstant = 0.0)
● The speed controller has been set previously (e.g. with the automatic speed controller
setting).
● At least one axis is connected to the SINAMICS drive (servo).
● The actual values and the manipulated variables between the controller and the drive have
been correctly scaled by the user. No validation is performed.
Match the configurations of the SIMOTION controller with the drive, for example, using the
"Transfer data from the drive" button in the axis wizard.
The following parameters in the drive are used for SINAMICS:
P2000: Normalization speed
P1082: Maximum speed
See also Coupling of digital drives (Page 55).
● An online connection to the SIMOTION device must exist for the result of the automatic
position controller to be transferred.
● The balancing filter is not changed.
● For operation without precontrol, the equivalent time constant of the position controller must
be adjusted manually by the user (PostionTimeConstant = 1/Kv).
● Vibration on the load side is not taken into account for the position controller setting.
Procedure
Perform the following steps for the automatic setting of the position controller:
1. Open the Automatic Controller Setting screen form
2. Select the drive unit and drive (axis)
3. Specify the "Position controller (DSC)" controller preselection
4. Assume control priority
5. Enable the drive
6. Perform these two steps in automatic mode or in individual steps
7. Select the axis data sets to which the Kv factor are to be transferred
8. Transfer the calculated Kv factor to the axis data sets you have selected
9. Disable the drive
10.Return control priority
11.Back up the online parameters
Note
Emergency cancelation of the automatic setting with <spacebar>
The following actions are performed:
● The step currently being executed is canceled
● The drive is disabled
Note
If required, the automatic controller settings can be checked using the measuring functions.
See also
SIMOTION measuring functions (Page 245)
Assigning automatic controller optimization (Page 371)
0 1 2 3 4 5 6 7
Positioning/following axis
Final controlling element jump X - X X X X - -
Final controlling element frequency response X - X X X X - -
Position control ramp X - X X X X - -
Position control reference frequency response X - X X X X - -
Expert mode X - X X X X - X
Circularity test X - X X X X - X
Speed-controlled axis
Final controlling element jump X - X X X X - -
Final controlling element frequency response X - X X X X - -
Expert mode X - X X X X - -
Note
Requirements
● An online connection to the SIMOTION device must be established.
● The target device must contain the current axis configuration. If necessary, download the
project or upload the configuration data for alignment purposes (Target system > Load >
Load configuration data to PG).
● It must be permissible to change the operating mode to STOP_U in the SIMOTION device.
An automatic switchover to the STOP_U operating mode will be performed.
● No alarms may be pending on the axis. If necessary, acknowledge the pending alarms in
the alarm window and restart the measuring function.
Note
The system variables for superimposition are intended for exclusive use by the SIMOTION
measuring functions. These variables cannot be modified by the user.
Circularity test - evaluation of the axis dynamics for synchronous operation with angular
synchronism
Minor deviations of amplitude and phase can be seen clearly in a circularity diagram. Another
advantage of the circularity test is that it enables exclusive observation of actual values. In
contrast, a disadvantage of a following error observation is that the following error
(followingError system variable) is corrected, for example, with DSC, and is thus subject to
error in a sense.
See also
Setpoint superimposition (Page 130)
Manipulated variable superimposition (Page 139)
Application examples
● Function test on individual axes before the axes are traversed in a coordinated manner
under the control of a program
● Traversing axes before the user program is available or if only parts of the user program
are available
● Traversing the axes for optimization purposes (controller setting)
● Axis homing or absolute encoder adjustment
● Enabling and disabling an axis
● Acknowledging axis alarms
● Retracting an axis: Traverse the axis to another position quickly and independently of the
program
Requirements
● An online connection to the SIMOTION device must be established.
● The target device must contain the current axis configuration. If necessary, download the
project or upload the configuration data for alignment purposes (Target System - Load -
Configuration Data to PG).
WARNING
Danger to life through unexpected machine movement
Failure to observe the safety instructions can result in personal injury and material damage.
Note the safety instructions in the Assume Control Priority SCOUT dialog box.
The system variable controlPanel indicates whether the control panel on the Axis technology
object is active.
The control panel can be used in operating state STOPU and (from V4.4) in operating state
RUN. Please refer to the additional information in the SCOUT Online Help (Axis control panel
index).
No
Figure 5-1 Using older SIMOTION projects with SIMOTION SCOUT as of V4.4
If the project was created with SCOUT < V4.2, please refer to Chapter Restrictions after
switching from compatibility mode (SIDB) to standard (DSDB). (Page 287).
The status information < V4.4 (Page 265) is still provided for compatibility reasons, even with
the standard setting (DSDB), with the exception of SSM.
Note
Further documentation
The safety-related functions of SINAMICS: are described comprehensively in the SINAMICS
Safety Integrated Function Manual.
As of SIMOTION V4.4
Simplification and implementation of the SIMOTION-side support with DSDB
Extension of the safety-relevant functionality:
As of SIMOTION V4.3
Extension of the safety-relevant functionality:
● SDI function is available in SIDB
● SKS stage 1 can be evaluated with a factor transferred via PROFIsafe, whereby almost
any SLS limit values can be specified online
● Support for new SINAMICS V4.5 functions
● Support for additional PROFIsafe telegrams (31 and 901)
As of SIMOTION V4.2
Extension of the safety-relevant functionality:
● SIMOTION-side support for SIDB with automatic telegram extension
● Additional generation of the technological alarm 50023 in the event of drive-autonomous
changes in status
Drive-autonomous changes in status occur e.g. when SS1 or SS2 is selected
● Read-out of the safety message buffer via system function
See also Coupling of digital drives (Page 55).
See also
Technology data (Page 183)
Safety status information (part of the DSDB) (Page 260)
Safety channel and safety channel types (when symbolic assignment is deactivated)
(Page 258)
Standard (DSDB) as of SIMOTION V4.4 (Page 259)
5.2 Communication
As of SIMOTION V4.4, the safety information is transferred between the drive and SIMOTION
by default as a telegram extension via the DSDB. Both SINAMICS Safety Integrated Basic
Functions and SINAMICS Safety Integrated Extended Functions are supported.
Prior to SIMOTION < V4.4, the safety information is transferred from the drive via the SIDB.
SINAMICS Safety Integrated Extended Functions are supported.
)&38
:LWKVHOHFWLRQ :LWKRXWVHOHFWLRQ
The stop responses in the drive (e.g. STOP A) for the applicable safety-related functions are
described in the SINAMICS Safety Integrated Function Manual.
5.4 Safety channel and safety channel types (when symbolic assignment is
deactivated)
This chapter is only applicable if the project standard setting Use symbolic assignment has
been deliberately deactivated.
For communication, a distinction is made between various SC types (safety channel types).
The various SC types can be used on the SC channels (SIDB, DSDB_1, DSDB_2).
In compatibility mode, the SIDB is the only SC type, so there is no need to distinguish between
types.
Use of SIDB and DSDB is optional. Parallel use is not possible.
Note
Support for DSDB when symbolic assignment is deactivated
Note that the standard setting (DSDB) must not be used for SINAMICS drives < V4.7.
DSDB is the standard setting for safety as of SIMOTION V4.4. The setting provide the complete
safety functionality set up on the drive at the TO. Configuration is automatic and uses the
DSDB channel (Drive Safety Data Blocks).
Note
The Drive Safety Data Block is an extension of the PROFIdrive axis telegrams. Transmission
is according to PROFIdrive and is therefore not a secure safety telegram.
Note
The value in slsSpeedLimitSelected is already weighted with drive parameter p9533. If
p9533 < 100%, it does not represent the maximum possible actual velocity monitored by
the drive (p9531[x]).
● technologicalData.numberOfDriveSafetyDataBlock > 0
● technologicalData.SafetyDataBlock_n = type, logAddressIn, logAddressOut
Note
The Safety Information Data Block (SIDB) is an extension of the PROFIdrive axis telegrams.
Transmission is according to PROFIdrive and is therefore not a secure safety telegram.
Table 5-6 Structure of the Safety Information Data Block (SIDB) in the actual value telegram
Word Meaning
1 Safety status word (Page 265)
2 Effective absolute set velocity limitation in the drive
3 Note:
This double word must be interconnected with r9733[0] (up to SINAMICS V4.4 only) or
with r9733[2] (as of SINAMICS V4.4).
For the Interconnection of the Safety Information Data Block (SIDB) to the actual value
telegram in the drive, see figure below.
As of SIMOTION V4.2, the Safety Information Data Block (SIDB) is set up by the system and
automatically interconnected in the drive.
6HWSRLQWWHOHJUDP
72 $FWXDOYDOXHWHOHJUDP
'2
$[LVWHFKQRORJ\REMHFWZLWKVXSSRUW 'ULYHREMHFWZLWK6DIHW\
IRU6DIHW\([WHQGHG)XQFWLRQV ([WHQGHG)XQFWLRQV
6HWSRLQWWHOHJUDP
352),GULYHWHOHJUDP 7HFKQRORJ\GDWDEORFN
HJVWDQGDUGWHOHJUDP $GGLWLRQDOGDWD
$FWXDOYDOXHWHOHJUDP
ZRUGV
2SWLRQDO
Figure 5-4 Layout of a drive telegram with Safety Information Data Block
6HQG3='
3=' 6WDQGDUG
WHOHJUDPV
3='Q
6WDWXVZRUG 7HFKQRORJ\
GDWDEORFN
U %LQHFWRU& 352),%86352),1(7
3='Q
U RQQHFWRU
U
&RQYHUWHU RSWLRQDO
U 3='P 6DIHW\LQIRUPDWLRQ
U
GDWDEORFN
U 3='P
3='P
U
'RXEOHZRUG
3='P $GGLWLRQDOGDWD
U
3='P[
)83
)83
)XQFWLRQFKDUWVFDQEHDFFHVVHGLQRQOLQHKHOSYLDWKHಯ3')GRFXPHQWVರEXWWRQ
,IWHFKQRORJ\GDWDEORFNLVDYDLODEOHP Q
,IQRWHFKQRORJ\GDWDEORFNLVDYDLODEOHP Q
Figure 5-5 Interconnection of the Safety Information Data Block (SIDB) to the actual value telegram in the drive
The configuration of the telegram extension is configured using the SINAMICS device >
Communication > Telegram configuration dialog with an extension of the input data of the axis
telegram by three words.
Via Configure telegram, the interconnection of the user-defined PZDs can be carried out using
a binector-connector converter.
The logical base address for the Safety Information Data Block (SIDB)
technologicalData.driveSafetyExtendedFunctionsInfoDataIn.logAddress results as follows:
standard telegram base address + (m-1) * 2
(m is the number of the PZD where the Safety Information Data Block (SIDB) begins). (See
also figure above).
Also refer to the information for creating the technology data block in Chapter Coupling of
digital drives (Page 55).
See also
Display of SINAMICS Safety Integrated Functions in SIMOTION (Page 267)
Note
The value in safeSpeedLimit is already weighted with drive parameter p9533. If
p9533 < 100%, it does not represent the maximum possible actual velocity monitored by
the drive (p9531[x]).
5.7.1 Overview
The safety functions in the drive are selected and deselected either from a Safety PLC (e.g.
SIMATIC S7 CPU317F) using secure PROFIsafe communication, from a safety-related
SINAMICS terminal module TM54F or using the fail-safe terminals on the CU (D410-2,
CU310-2 or CU305). The safety functions can be selected and deselected independently of
the Motion Control user program.
Many safety functions (e.g. SOS, SLS) contain monitoring functions and must be supported
by the SIMOTION user program so that the drive can be set to or kept in the monitored
operating state. If the monitored limits are exceeded, this causes a safety-related stop
response in the drive.
The user can evaluate the safety status word via system variables. See also the status
information for DSDB (Page 260) and SIDB (Page 265).
General recommendation for the user program when using SINAMICS Safety Integrated Functions as
of SIMOTION V4.2
The system responds automatically to the selection of SS1 or SS2 by switching the axis to
follow-up mode. The following requirements must be satisfied to do this:
● Default settings for symbolic assignment
● Automatic telegram selection
● Evaluation of the pulses enabled bits must not be changed
When STO is selected, the drive shuts down automatically.
Therefore, safety functions STO, SS1, and SS2 do not require any provision to be made in the
user program in terms of a response.
For other functions such as SOS or SLS, it must be ensured via the user program that the
monitored operating state is not violated.
See also
Overview - Support of SINAMICS Safety Integrated Functions on the Axis technology object
(Page 251)
Display of SINAMICS Safety Integrated Functions in SIMOTION (Page 267)
Note
Design your user program in accordance with the priority of the safety drive functions. Take
into account possible consecutive responses of the drive, e.g. STOP_B in the event of SLS
limit value violation.
Evaluate the status bits cyclically in your user program.
Also take into account user responses for connected axes.
Table 5-8 Responses of the drive and responses in the user program when a safety function is
selected
In compatibility mode with SIDB, STO is only supported in conjunction with the SINAMICS
Safety Integrated Extended Functions on the axis.
See also
Safety status information (part of the DSDB) (Page 260)
Safety status information (part of the SIDB) (Page 265)
NOTICE
Abort of the OFF3 ramp
For certain settings, the OFF3 ramp cannot be aborted on the control side!
See SIMOTION system behavior with a drive-autonomous OFF3 ramp (Page 53).
enables for the drive from having to be canceled (as a result of alarm 50102, following error
monitoring, for example).
See also
Safety status information (part of the DSDB) (Page 260)
Safety status information (part of the SIDB) (Page 265)
NOTICE
Abort of the OFF3 ramp
For certain settings, the OFF3 ramp cannot be aborted on the control side!
See SIMOTION system behavior with a drive-autonomous OFF3 ramp (Page 53).
Note
If the drive is not yet ready to run and SS2 has already been selected, all drive enables can
only be set once SS2 has been deselected.
This may be the case following a further ramp up of the selected SS2, for example.
The drive enables can be set using the _enableaxis() user command, for example.
See also
Safety status information (part of the DSDB) (Page 260)
Safety status information (part of the SIDB) (Page 265)
See also
Safety status information (part of the DSDB) (Page 260)
Safety status information (part of the SIDB) (Page 265)
Note
It should be noted that updating the system variables with the status information and the
defined maximum velocity is not necessarily simultaneous. Two cases must therefore be
allowed for in the user program:
1. SLS is selected in the drive
The system variable with the status information reports this.
The system variable ~.slsSpeedLimitSelected still includes the maximum velocity of the
axis and not the limited velocity.
2. SLS is deselected in the drive.
The system variable with the status information still reports SLS selected.
The system variable ~.slsSpeedLimitSelected already contains the maximum velocity of
the axis.
Please also see the note regarding the reduction factor for ~.slsSpeedLimitSelected in
Chapter Display of SINAMICS Safety Integrated Functions in SIMOTION (Page 259)
The velocity limit value monitored in the drive can be changed by switching between the SLS
levels. Therefore, the system variable ~.safeSpeedLimit should be continuously monitored for
changes while SLS is selected.
In the user program, the activation of velocity reduction or the change to the reduced speed
must be cyclically checked and the current velocity setpoint must be compared with the safe
maximum velocity.
A detailed procedure can be found in the table below.
Note
For active velocity monitoring on a following axis (synchronous coupling and with a fixed gear
or coupling via MotionIn interface), the speed of the master axis is reduced or, if this is not
possible, synchronous operation during the reduction is canceled.
See also
Safety status information (part of the DSDB) (Page 260)
Safety status information (part of the SIDB) (Page 265)
See also
Safety status information (part of the DSDB) (Page 260)
Safety status information (part of the SIDB) (Page 265)
Requirement
The safe limited position can only be monitored if the following conditions are met:
● The drive must be homed at standstill while the machine is being commissioned.
● User agreement must be set once during commissioning after homing.
Exception: It is reset by the user or by a positional tolerance violation in the drive.
● The SLP acceptance test must be performed.
Note
Status of user agreement
The DSDB does not indicate whether user agreement is lost after successful homing of the
drive. Only the S_FAULT bit is set. Evaluation via acyclic read requests may take too long to
recognize this state and trigger a response in the user program if SLP is selected or already
active.
Make sure a suitable response is implemented in the F-CPU user program in this case. For
example, evaluate the "safely homed" bit in the PROFIsafe telegram. For example, trigger
SOS if the drive is not safely homed.
Note
If the command is executed and user agreement is active, user agreement will be reset.
In the Internet, you will find a program example for homing and setting user agreement as an
FAQ (http://support.automation.siemens.com/WW/view/en/89038143).
Violation of the traversing range when the SLP Retraction function is activated
If an SLP limit is exceeded, a safety error is displayed on the drive. A safe stop response is
triggered on the drive as error response.
Perform the safe brake test as follows if there is at least one external brake:
1. Start the test by calling the _executeAxisSafetySbt() function in the user program.
2. If there are two external brakes:
Check the status SBT_BT_BRAKE2 of the system variable driveData.safety.status2 to see
whether brake 1 or 2 is tested.
3. Check the status SBT_BT_BRAKE_CLOSE_REQ of system variable
driveData.safety.status2 cyclically in the user program. Open or close the external brake,
depending on the status.
4. Report the current status of the external brake to the system using the
_setAxisSafetySbtExtBrakeState() function.
After a change of status of SBT_BT_BRAKE_CLOSE_REQ, the feedback must be provided
within 11 seconds.
5. Monitor the status if necessary via the driveData.safety.sbtState system variable.
6. Repeat steps 2 to 5 until the _executeAxisSafetySbt() function has ended and then check
the return value of the function.
Note
External brakes
Take into account the brake opening and closing times for status feedback.
Note
● Standard telegram 1 cannot be used to support safety functions SS1 and SS2, since
it does not transmit the status of the pulse enable.
● Depending on the telegram used, set p2038 as follows:
– For standard telegrams in the drive p2038=0
– For SIEMENS telegrams in the drive p2038=1
Note
Acknowledgment of alarm 50201
Earlier than SIMOTION V4.4:
Then alarm can only be acknowledged permanently if there are no longer any entries in
the safety message buffer.
As of SIMOTION V4.4 (with DSDB):
Then alarm can only be acknowledged permanently if neither S_FAULT_PRESENT nor
INTERNAL_EVENT is set.
Note
Alarm 50023 only becomes active on the Axis technology object if configuration data
TypeOfAxis.DriveControlConfig.pulsesEnabledEvaluation is set to YES.
Alarms 50201, 50202 and 50203 are only displayed on the TO axis when DSDB and SIDB
are activated.
No safety alarm is triggered when STO and SS1 are selected. Alarm 20005 reason 4 is
signaled if the pulses are deleted by the drive. There is no alarm to signal that the functions
have been deselected.
6/6 DFWLYH
626 DFWLYH
$ODUP
$ODUP
Parameter Meaning
r944 Message buffer change count
r947 [0…63] Message code
r949 [0…63] Additional information
r952 Messages counter
Parameter Meaning
r9744 Message buffer change count
r9747 [0…63] Message code
r9749 [0…63] Additional information
r9752 Messages counter
Acknowledge
Errors in the safety functions or stop responses may only be acknowledged on a fail-safe basis.
A distinction must be made here between the Basic Functions and Extended Functions.
Basic Functions: Acknowledgment via two-channel selected/deselection by STO
Extended Functions: Acknowledgment of safety PLC via the PROFIsafe signal
Internal_Event_Acknowledge - Bit 7 of the PROFIsafe control word or via a terminal on TM54F
or F-DI OnBoard for D410-2.
With extended alarm acknowledgment, the messages can be acknowledged via the
acknowledgment mechanism of the Basic Functions.
Note
Limitation for SINAMICS V2.5
Fail-safe acknowledgment via PROFIsafe bit or a fail-safe digital input following violation of
SLS limit value is only possible if STOP C (p9563=2) has been configured as a fault response.
For other stop responses, an acknowledgment is only possible by means of Power Off/Power
On.
For further information, see the SINAMICS Safety Integrated function manual.
See also
Axis configuration (Page 259)
Safety channel and safety channel types (when symbolic assignment is deactivated)
(Page 258)
Overview - Support of SINAMICS Safety Integrated Functions on the Axis technology object
(Page 251)
Safety status information (part of the DSDB) (Page 260)
The hydraulic functionality is explained in the following sections, building on the description of
the axis.
See also
Overview of axis technologies (Page 21)
General information about axes (Page 17)
Figure 7-1 Overview of motion control for axes with hydraulic functionality
Valve types:
● Q valve (valve for closed-loop control of volumetric flow, path valve)
Hydraulic valve for control of direction and volume of a material flow, suitable for closed-
loop velocity control
● PQ valve
Special Q valve suitable for force, position, velocity, and pressure control
● P valve (pressure limiting valve)
Valve used for limiting the system pressure, suitable for protecting a hydraulic system
against excessive pressure (overpressure protection)
The enable signal for the P valve is set/reset via the fOutputEnable parameter in the
_enableQFAxis()/_disableQFAxis() command. The status of the enable signal for the P valve
is displayed with the actorMonitoring.fOutputEnable system variable. The status of the P output
is displayed in actorMonitoring.fOutputState.
When defining an axis as an axis with hydraulic functionality, it is possible to assign several
axes to a final controlling element during configuration. During runtime, they are assigned using
the _enableQFAxis()/_disable QFAxis() enable/disable commands.
A real axis with hydraulic functionality has manipulated variables for the flow rate (Q, Q valve)
and, if required, a separate manipulated variable for direct force/pressure limiting or force/
pressure control (F, P valve).
On axes with a P valve, the technological commands and system variables for force/pressure
limiting can be used to specify the force and pressure.
The addresses in the I/O area for outputting the Q value and, if applicable, for outputting the
F/P value can be set on the axis.
Note
You can find application examples for hydraulic axes under FAQs > Technology in the
SIMOTION Utilities & Applications provided with SIMOTION SCOUT.
See also
Access to the same final controlling element from multiple axes (Page 318)
Figure 7-3 Example configuration of the Q output using analog output module
The bit resolution of the analog output module is set under Resolution.
The logical hardware address of the input module can be found in the HW Config in SCOUT.
The Factor (scaling factor) and Offset are used to convert the internal value into a physical
variable that can be represented.
The value can be output as right-justified or left-justified within the word width (16 bits).
The minimum and maximum raw values are the limitations. If the measured actual value is
outside these limits, technological alarm 50013: The permissible range limit has been
exceeded is issued and the internal actual value is set to the limit value.
The error tolerance time states how long an error can be pending before a technological alarm
is set.
See also
Setting for the hydraulic axis type (Page 30)
TypeOfAxis configuration data (Page 31)
Standard+pressure Motion at the Q output and pressure limiting at the P valve/F output
Unit: Pascal, bar
Standard+force Motion at the Q output and force limiting at the P valve/F output
Unit: Newton
Hydraulic axes with Q valve and P valve/F output do not have any pressure control (pressure
control commands are rejected); in this case, the pressure limiting commands act on the P
valve/F output. The pressure limiting value in the command is issued as a manipulated variable
at the P valve/F output.
See also
Setting for the hydraulic axis type (Page 30)
TypeOfAxis configuration data (Page 31)
7.1.5 Setting an axis as a real axis with P valve only (V3.2 and higher)
At the P valve (F output of the axis), a time-related or actual-position-related profile or a
manipulated variable can be output. This means that no position control, velocity control or
force/pressure control takes place. There are no force/pressure sensors required, but they can
be configured.
Position encoders cannot be configured.
You must configure a speed-controlled axis.
The following commands are possible on this axis:
● _resetAxis()
● _resetAxisError()
● _getStateOfAxisCommand()
● _bufferAxisCommandId()
● _removeBufferedAxisCommandId()
● _enableQFAxis()
● _disableQFAxis()
Commands to output a force/pressure limiting value or a force/pressure limiting profile can
also be used:
● _enableForceLimitingValue()
● _enableTimeLockedForceLimitingProfile()
● _enableMotionInPositionLockedForceLimitingProfile()
● _disableForceLimiting()
Position encoders cannot be configured or activated.
See also
Overview of axis technologies (Page 21)
Setting for the hydraulic axis type (Page 30)
TypeOfAxis configuration data (Page 31)
7.1.6 Setting an axis as a real hydraulic axis without a valve (axis simulation)
Hydraulic axes with manipulated variable output directly in the I/O area cannot be defined for
axis simulation.
Axis simulation with hydraulic axes is only possible with a Q valve and with a digital drive
interface or onboard C2xx.
For more information, see Setting as a real axis without drive (axis simulation) (Page 59).
Note
With the hydraulic axis, not all of the setting options for the electric axis are required or
displayed.
See also
Overview of setting options for axis and encoder mechanics (Page 81)
7.4 Defaults
Information about default settings for system variables can be found in Defaults (Page 86).
7.5 Homing
A short summary for homing, absolute encoder and incremental encoder is contained in
Overview of homing (Page 87).
$ %
A A
3$ 3%
0HDVXUHGYDOXH
DFTXLVLWLRQ
$$ $%
)$ )%
˂) )SLVWRQ )DFW
)VHW
$$UHD
33UHVVXUH
)RUFHFRQWUROOHU ))RUFH
Like the measuring sensors, the pressure difference is defined as force/pressure sensors.
Proceed as follows to specify the setting via the expert list:
● Configure at least two pressure sensors on the axis.
● In the expert list, increase the value of TypeOfAxis.NumberOfAdditionalSensors.number
by 1.
● Set the other sensor as a "differential pressure sensor" with
PRESSURE_DIFFERENCE_MEASUREMENT via the
TypeOfAxis.NumberOfAdditionalSensors.AdditionalSensor_n.additionalSensorType
configuration data element.
● The sensors whose values are being used and the individual factors are set in the elements
of the
TypeOfAxis.NumberOfAdditionalSensors.AdditionalSensor_n.pressureDifferenceMeasure
ment structure.
The pressure difference may be the pressure difference at a cylinder or another pressure
difference. All sensors used for the pressure difference measurement must be configured on
the same technology object.
The pressure difference measurement may also be applied to the electric axis.
If pressure difference measurement is used, force control is available in accordance with the
function definition. In this case, the pressure sensors are also displayed in the force unit,
dependent upon the system.
See also
Using the expert list for an axis (Page 237)
See also
Overview of monitoring/limiting functions (block diagram) (Page 103)
See also
Overview of traversing with user-defined motion and force/pressure profiles (Page 210)
7.10.1 Position control for setting a positioning axis with hydraulic functionality
Block diagram of the hydraulic axis with closed-loop control:
VHUYR'DWDFRPSHQVDWHG6HUYR&RPPDQG9DOXH
VHUYR0RQLWRULQJFRQWUROVWDWH
VHUYR'DWDWRWDO6HUYR&RPPDQG9DOXH
,32VHWSRLQWV
SRVLWLRQLQJ6WDWHFRPPDQG3RVLWLRQ VHUYR'DWDVHUYR&RPPDQG9DOXH DFWRU'DWDVHWSRLQW
PRWLRQ6WDWH'DWDFRPPDQG9HORFLW\
PRWLRQ6WDWH'DWDFRPPDQG$FFHOHUDWLRQ
,IWKHUHLVQRHQDEOHRUSUHSDUDPHWHUL]HGEUDNLQJUDPS,32LVLQIROORZXSPRGH
WKDWLV,32VHWSRLQW ,32DFWXDOYDOXH
$FWXDOYDOXH
6HWWLQJRSWLRQVOLQHDUFXELFTXDGUDWLFGLUHFW SRVLWLRQLQJ6WDWHDFWXDO3RVLWLRQ V\VWHP
37HOHPHQWZLWK77 PRWLRQ6WDWH'DWDDFWXDO9HORFLW\
PRWLRQ6WDWH'DWDDFWXDO$FFHOHUDWLRQ
VHQVRU'DWDSRVLWLRQ
VHQVRU'DWDYHORFLW\
VHQVRU'DWDDFFOHUDWLRQ
VHUYR'DWDFRPSHQVDWHG6HUYR&RPPDQG9DOXH
VHUYR0RQLWRULQJFRQWUROVWDWH VHUYR'DWDWRWDO6HUYR&RPPDQG9DOXH
VHUYR'DWDVHUYR&RPPDQG9DOXH DFWRU'DWDVHWSRLQW
,32VHWSRLQWV
(QDEOHV 0DQLSXODWHG
)LQH '\QDPLF &RQWUROOHUZLWK
0RWLRQ SUHSDUDPEUDNLQJ 6HWSRLQW YDULDEOH
LQWHUSRODWLRQ UHVSRQVH SUHFRQWURO
,32 UDPSRSHUDWLQJ VXSHULPSRVLWLRQ SUHSDUDWLRQ
DGDSWDWLRQ
PRGHV
$FWXDOYDOXH
V\VWHP
VHQVRU'DWDSRVLWLRQ
VHQVRU'DWDYHORFLW\
VHQVRU'DWDDFFOHUDWLRQ
VHUYR'DWDSUH&RQWURO9DOXH
'LIIHUHQWL
NSF
DWLRQ VHUYR'DWDV\PPHWULF6HUYR
VHUYR'DWDFRPSHQVDWHG6HUYR&RPPDQG9DOXH
'LIIHUHQWL &RPPDQG9HORFLW\
DWLRQ
,
%DODQFLQJ
3 DFWRU'DWDVHWSRLQW
ILOWHU
'7
6HWWLQJRSWLRQVOLQHDUFXELF 3,'FRQWUROOHU
TXDGUDWLFGLUHFW VHUYR'DWDFRQWUROOHU2XWSXW
37HOHPHQWZLWK77
VHUYR'DWDV\PPHWULF6HUYR&RPPDQG3RVLWLRQ
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
Remark
You can specify during configuration whether the D component of the controller refers to the
control deviation or the actual value (in the ControllerStruct.conType configuration data
element).
The dynamic behavior of the process is taken into account in the balancing filter.
With the hydraulic positioning axis, the dynamic response of the position control loop is
specified in the dynamicData.positionTimeConstant configuration data element. The dynamic
response of the process is specified in dynamicQFData.qOutputTimeConstant.
The hydraulic position axis can now be activated in non-position-controlled mode with the
_enableQFAxis() command via the parameter movingMode= SPEED-CONTROLLED (as of
V4.1 SP1).
See also
Overview of positioning axis with position control (Page 113)
Position control (Page 113)
7.10.2 Velocity controller when setting speed-controlled axis with hydraulic functionality
When an axis is set as a drive axis with hydraulic functionality, the velocity controller is
calculated in SIMOTION.
With the electric drive axis, the velocity controller is included in the drive and the control
specifies the speed setpoint.
VHUYR'DWDFRPSHQVDWHG6HUYR&RPPDQG9DOXH
VHUYR0RQLWRULQJFRQWUROVWDWH
VHUYR'DWDVHUYR&RPPDQG9DOXH DFWRU'DWDVHWSRLQW
,32VHWSRLQWV
3UHSDUDWLRQ
5HOHDVHV 6HWSRLQW &RQWUROOHUZLWK RI
0RWLRQ )LQH
(PHUJHQF\VWRS VXSHULPSRVHG SUHFRQWURO PDQLSXODWHG
,32 LQWHUSRODWLRQ
2SHUDWLQJ YDULDEOHV
PRGHV
$FWXDOYDOXH
V\VWHP
VHQVRU'DWDSRVLWLRQ
VHQVRU'DWDYHORFLW\
VHQVRU'DWDDFFOHUDWLRQ
VHUYR'DWDSUH&RQWURO9DOXH
NSF
VHUYR'DWDFRPSHQVDWHG6HUYR&RPPDQG9DOXH VHUYR'DWDV\PPHWULF6HUYR&RPPDQG9HORFLW\
,
%DODQFLQJ
ILOWHU 3 DFWRU'DWDVHWSRLQW
'7
6HWWLQJRSWLRQVOLQHDUFXELF 3,'FRQWUROOHU
TXDGUDWLFGLUHFW VHUYR'DWDFRQWUROOHU2XWSXW
VHUYR'DWDV\PPHWULF6HUYR&RPPDQG9HORFLW\
Note
The closed-loop velocity-controlled hydraulic axis cannot be moved with open-loop velocity
control via movingMode=SPEED_CONTROLLED.
Monitoring
Data and statuses for the velocity controller on the axis are displayed in the servoData
components.
See the list manuals for details.
For the velocity controller, the setpoints, actual values, and superimpositions refer to the
velocity. Position-related information such as actualPosition or
symmetricServoCommandPosition are irrelevant.
preControlValue displays the precontrol value.
In servosettings, the additionalCommandValue setting refers to the velocity.
Standstill monitoring is not available on the drive axis.
The standstill signal is available.
Remarks
Dynamic response adaptation is not active on the axis with hydraulic functionality.
Superimpositions are in effect.
With the hydraulic drive axis, the dynamic response of the velocity control loop is specified in
the dynamicQFData.velocityTimeConstant configuration data element; the dynamic response
of the process is specified in the dynamicQFData.qOutputTimeConstant configuration data
element.
See also
Overview of positioning axis with position control (Page 113)
DFWRU'DWDIULFWLRQDGGLWLRQDO2IIVHW9DOXH
$GGLWLYHRIIVHW
DFWRU'DWDVOLGLQJIULFWLRQ&RPSHQVDWLRQ9DOXH
6OLGLQJIULFWLRQ
DFWRU'DWDIULFWLRQ&RPSHQVDWLRQ9DOXH
DFWRU'DWDIULFWLRQ&RPSHQVDWLRQ $&7,9(
6WDWLFIULFWLRQ
FRPSHQVDWLRQ
VHUYR6HWWLQJVVHWSRLQW2IIVHW&RPSHQVDWLRQ
'ULIW
FRPSHQVDWLRQ
0DQLSXODWHG
YDULDEOH DFWRU'DWDDFWXDO$GGLWLRQDO6HWSRLQW
VXSHULPSRVLWLRQ
Figure 7-12 Preparation of manipulated variables for axis with hydraulic functionality, Q output
DFWRU'DWD)9DOXH DFWRU'DWD)2XWSXW9DOXH
Figure 7-13 Preparation of manipulated variables for axis with hydraulic functionality, F output
Note
For hydraulic axes, a valve characteristic can be assigned to each output (P or Q). If this is
not the case, a linear characteristic is used. Here, 100% corresponds to the limit value of the
axis (TypeOfAxis.MaxVelocity, TypeOfAxis.MaxForceCommandData).
The interface-specific superimposition is specified as a percentage (%), e.g. for specifying
manipulated variables when recording of the characteristic curve.
An increase limiting is specified in the command for output activation and for activation of the
characteristic curve because the manipulated variable must be continuos on the valve, e.g.
the increase limiting (ramp function) is used to prevent a step change. If the increase limiting
is active, the I component is retained in the position controller or force/pressure controller.
The specific increase limiting after allowing for the valve characteristic is only in effect for the
transition at _setQFAxisFCharacteristics(), _setQFAxisQCharacteristics(), and
_disableQFAxis(), _enableQFAxis(). The increase limiting is specified in the command
(default in userDefaultQFAxis.maxDerivative).
Note
If the RELEASE_DISABLE or OPEN_POSITION_CONTROL alarm responses occur, the
setpoint or manipulated variable = 0 will be output. For hydraulic axes, the value 0 will be
converted into an appropriate output value using the valve characteristic.
A velocity encoder must be present for speed-controlled operation. The control supports the
following velocity encoders:
● Pulse encoder via SM335 or E510
● Analog velocity encoder via analog input modules
See also
Overview of positioning axis with position control (Page 113)
7.10.5 Compensations that are active only on the axis with hydraulic functionality
A static compensation component (additive sliding friction) and a compensation component
proportional to velocity (sliding friction) can be set on the axis with hydraulic functionality.
These settings are made in the Closed-Loop Control view in the project navigator under the
axis. The Further Compensations tab appears when Expert mode is selected.
Sliding-friction compensation
Sliding friction is applied relative to the velocity setpoint in axis motion via motion specification,
and relative to the actual velocity value in axis motion via force/pressure specification.
The factor for sliding-friction compensation can be set specifically for axis motion via motion
specification (factorMotionControl) and for axis motion via force/pressure specification
(factorForceControl) in the structure elements for SlidingFriction.
The current value of the sliding-friction compensation is displayed in the
actorDataSlidingFrictionCompensationValue system variable.
See also
Overview of positioning axis with position control (Page 113)
7HFKQRORJLFDOPDQLSXODWHGYDULDEOH
YPD[
8PLQ
8PD[ 9ROWDJH
YPLQ
In the cams for the characteristic curves, the technological manipulated variable (velocity,
pressure/force) is specified by means of the manipulated variable value of the final controlling
element.
The valve characteristic curves are selected/switched using _setQFAxisQCharacteristics() or
_setQFAxisFCharacteristics(). They can also be switched during the motion.
If several characteristic curves are interconnected with an axis, one characteristic curve must
be explicitly selected with the command.
If only one valve characteristic curve is available for an axis, then a selection command is not
required.
If there is no valve characteristic curve selected for the hydraulic axis under the Profiles screen
form, the value in the TypeOfAxis.MaxVelocity configuration data element is determinative for
the manipulated variable normalization. In the valve characteristic curve for the P output, the
TypeOfAxis.MaxForceCommandData configuration data element is determinative.
Note
Only traverse the machine within valid range!
● Measure the actual velocity (QOutputValue and velocity can be recorded using the trace
function)
● Read out the resulting technological variables
● Enter the values and the technological variables in the characteristic curve
Each technological variable received for a specified output voltage is entered in the
characteristic curve
● Assign the cam to the axis and activate it under Profiles/Valves
Note
With F output, the procedure applies for P valves accordingly.
At 100% manipulated variable, a velocity of 2,200 mm/s is reached in the example (position
axis).
See also
Overview of positioning axis with position control (Page 113)
7.10.7 Access to the same final controlling element from multiple axes
The axis with hydraulic functionality has its own activation/deactivation command
_enableQFAxis()/_disableQFAxis().
$[LV
$[LVQ
Figure 7-18 Axis with hydraulic functionality: one valve for several axes
When an axis is specified as an axis with hydraulic functionality, you can assign a final
controlling element to more than one axis in the configuration. Only one axis can specify the
setpoint for a final controlling element at a given time.
Application example: one variable-capacity pump for several axes. The axes are traversed
sequentially. After the motion is ended, the axis is disabled (_disableQFAxis() with valve
enable). Digital valves switch to the next axis. The next axis can be enabled.
This assignment is made during runtime using the qOutput or fOutput parameter in the
_enableQFAxis()/_disableQFAxis() activation and deactivation commands and is displayed in
the actorMonitoring.qOutputState or actorMonitoring.fOutputState system variable. A final
controlling element that has been activated, and thus occupied, by an axis must be re-enabled
by this axis before another axis can activate and occupy this final controlling element for itself.
Replacement values (stop values) can be predefined for enabling a final controlling element.
This is achieved by enabling the final controlling element (command _disableQFAxis(),
qOutput/fOutput = DISABLE) but without canceling the enabling signal (command
_disableQFAxis(), qOutputEnable/fOutputEnable =. DO_NOT_CHANGE). The default
replacement value 0% is output at the final controlling element. With qOutputValueSetMode/
fOutputValueSetMode = set and qOutputValue/fOutputValue = 5 in the _disableQFAxis()
command, a manipulated variable of 5% is output. The replacement value is output until a
technology object occupies the final controlling element again (_enableQFAxis()).
The manipulated variable change is limited when the final controlling element with replacement
value is applied or when changing to a different characteristic curve on the axis. These limits
are specified in the userDefaultQFAxis.maxDerivative system variable.
The enabling signal for a final controlling element can be configured and set on multiple axes.
The axis does not specifically occupy the enabling signal; rather, the enable is performed
directly.
See also
Overview of positioning axis with position control (Page 113)
See also
Travel to fixed endstop (Page 180)
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
Note
Special Q valves (so-called PQ valves) also support pressure control.
See also
Overview of force/pressure control (Page 192)
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
See also
Overview of force/pressure limiting (Page 202)
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
Note
Note the following points for the transitions from speed control to pressure control and vice
versa:
● Apply the force/pressure control during motion (as of V4.0)
● Switch on pressure control at standstill (as of V3.2)
● Switch off pressure control at standstill (as of V3.2)
● Transition to speed control from force/pressure control (as of V4.0)
● If pressure control is active, only the RELEASE_DISABLE stop reaction is in effect. (V3.2)
– No applying / overriding of the pressure control through motion
– No preassigned braking ramp
● Switchover with condition not available
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
YUHV TVHW
,32 ),32
YVHW
YDFWXDO
3UHVVXUHOLPLWLQJ
FRQWUROOHU
),32
SOLPLW SOLPLW
SDFWXDO
)LQHLQWHUSRODWLRQ
Figure 7-19 Overview of control structure for force/pressure limiting on hydraulic drive axis
Note
The PDF documents button can be used in the online help to locate the function charts with
signal paths.
Features:
● Parallel pressure limiting
● Transition from pressure-limited to pressure-controlled
● Transition from pressure-controlled to speed-controlled (with/without pressure limiting)
The same controller is used as the pressure controller on the drive axis and as the force/
pressure limiting controller.
On-the-fly switching between pressure control and speed control (open-loop and closed-loop)
and vice versa is possible (as of V4.0).
Error responses / StopEmergency
If the FEEDBACK_EMERGENCY_STOP error response occurs in combination with the
_stopEmergency() command with the STOP_WITH_COMMAND_VALUE_ZERO setting in
active pressure control, the preassigned braking ramp is executed and the pressure limiting
remains active. However, the pressure limiting can be deactivated via a command.
Note
You can also find information about the system functions in the SIMOTION Cam Technology
Package list manual.
Table 8-1 Overview of commands for specification and control of motion on the axis
Command Meaning D P G
Enables, stop and continue commands, resets
_enableAxis() Enable axis X X X
_enableQFAxis( )* Enable hydraulic axis X X X
_disableAxis() Disable axis X X X
_disableQFAxis( )* Disable hydraulic axis X X X
_enableForceControlByCondition() Activating force/pressure control depending on - X X
switchover conditions
_setForceCommandValue( ) Set force/pressure setpoint - X X
_setQFAxisQCharacteristics*( ) Set characteristics for Q value X X X
_setQFAxisPCharacteristics*( ) Set characteristics for P value X X X
_stopEmergency() Rapid stop with motion abort X X X
_stop() Stop axis motion with/without abort X X X
_continue() Resume an interrupted motion X X X
_resetAxis() Reset axis X X X
_getAxisErrorNumberState() Read out error number status X X X
_resetAxisError() Acknowledge axis error X X X
_cancelAxisCommand( ), as of V4.1 SP1 Abort command with the specified CommandID X X X
* Active only when the TypeOfAxis setting is QFAxis.
Command Meaning D P G
Axis motions
_homing() Homing - X X
_move() Continuous turning (speed- or position-controlled) X X X
_pos() Positioning - X X
_runTimeLockedVelocityProfile() Rotational speed profile X X X
_runTimeLockedPositionProfile() Velocity profile - X X
_runPositionLockedVelocityProfile() Position-related velocity profile - X X
_enableTorqueLimiting() Switch on torque limitation X X X
_disableTorqueLimiting() Deactivate torque limitation X X X
_enableAxisAdditiveTorque( ) Activate input interconnection for additive torque X X X
_disableAxisAdditiveTorque( ) Deactivate input interconnection for additive torque X X X
_enableAxisTorqueLimitPositive( ) Activate input interconnection B+ X X X
_disableAxisTorqueLimitPositive( ) Deactivate input interconnection B+ X X X
_enableAxisTorqueLimitNegative( ) Activate input interconnection B- X X X
_disableAxisTorqueLimitNegative( ) Deactivate input interconnection B- X X X
_enableVelocityLimitingValue() Activate velocity limiting X X X
_disableVelocityLimiting() Deactivate velocity limiting X X X
_enablePositionLockedForceLimitingProfile() Activate force/pressure limiting with position-related - X X
force/pressure limiting profile
_enablePositionLockedVelocityLimitingProfile() Activate velocity limiting with position-related limiting - X X
profile
_runTimeLockedForceProfile() Starting the time-related force/pressure profile - X X
_runPositionLockedForceProfile() Starting the position-related force/pressure profile - X X
_enableForceLimiting() Enable force limiting - X X
_disableForceLimiting() Disable force limiting - X X
_enableMovingToEndStop( ) Activate travel to fixed endstop - X X
_disableMovingToEndStop() Deactivate travel to fixed endstop - X X
_enableTimeLockedVelocityLimitingProfile( ) Activate velocity limiting with time-related limiting profile X X X
_enableTimeLockedForceLimitingProfile() Activate force/pressure limiting with time-related - X X
limiting profile
Coordinate system
_redefinePosition( ) Set actual value system - X X
_setAndGetEncoderValue( ) Synchronize measuring systems - X X
_enableMonitoringOfEncoderDifference() Activate encoder difference monitoring - X X
_disableMonitoringOfEncoderDifference() Deactivate encoder difference monitoring - X X
_getAxisUserPosition( ) Return user position for specified encoder value - X X
_getAxisInternalPosition( ) Return encoder value for specified user position - X X
Simulation
_enableAxisSimulation() Activate program simulation X X X
_disableAxisSimulation() Deactivate program simulation X X X
Information functions / command buffers
_getStateOfAxisCommand() Reading the execution status of a motion command X X X
_getMotionStateOfAxisCommand() Reading current phase of motion X X X
Command Meaning D P G
_bufferAxisCommandId() Save CommandId X X X
_removeBufferedAxisCommandId() Remove buffered CommandId X X X
_getStateOfMotionBuffer() Read status of motion buffer X X X
_resetMotionBuffer() Reset motion buffer X X X
_getProgrammedTargetPosition( ) Read the programmed absolute end position - X X
_getAxisErrorNumberState() Reading the status of a specific error on the axis X X X
Data set commands
_setAxisDataSetActive() Activate data set X X X
_setAxisDataSetParameter() Write data set X X X
_getAxisDataSetParameter( ) Read a data set X X X
_setForceControlDataSetParameter() Writing the force/pressure-specific data of a data set - X X
_getForceControlDataSetParameter() Reading the force/pressure-specific data of a data set - X X
_resetAxisConfigDataBuffer( ) Clear the configuration data in the buffer without X X X
activation
D = drive axis
P = positioning axis
G = synchronized axis
PLCopen commands
The blocks listed below can be used in cyclic programs/tasks in SIMOTION.
They are used primarily in the LAD/FBD programming language. PLCopen blocks are available
as standard functions (directly from the command library).
Function Description
_MC_Power() Enabling an axis
_MC_Stop() Stopping the axes
_MC_Reset() Resetting the axis
_MC_Home() Homing axes
_MC_MoveAbsolute() Absolute positioning axes
_MC_MoveRelative() Relatively positioning axes
_MC_MoveVelocity() Traversing axes at defined velocity
(position axis travels position-controlled)
_MC_MoveAdditive() Relative traversing of axes by a defined path additively to the
remaining path
_MC_MoveSuperimposed() Relative superimposing of a new motion on an existing motion
_MC_PositionProfile() Traversing axis by a predefined and specified position/time
profile
_MC_VelocityProfile() Traversing axis by a predefined and specified velocity/time
profile
_MC_ReadActualPosition() Reading the actual position of axis
_MC_ReadStatus() Reading the status of an axis
_MC_ReadAxisError() Reading the error of an axis
Function Description
_MC_ReadParameter() Reading the axis parameter data type LREAL
_MC_ReadBoolParameter() Reading the axis parameter data type BOOL
_MC_WriteParameter() Writing the axis parameter data type LREAL
_MC_WriteBoolParameter() Writing the axis parameter data type BOOL
Apart from the standard PLCopen functions, the following additional standard axis function is included:
_MC_Jog() Continuous or incremental jogging
Function Description
_MC_CamIn() Start camming between a master and a slave
_MC_CamOut() End camming
_MC_GearIn() Start gearing between a master and a slave
_MC_GearOut() End gearing
_MC_Phasing() Offsets the position of the slave axis relative to the master
Function Description
_MC_Home() Home external encoder
_MC_Power() Enable external encoder
_MC_ReadStatus() Read status of external encoder
_MC_ReadAxisError() Read error of external encoder
_MC_Reset() Reset external encoder
_MC_ReadParameter() Read external encoder parameters of data type LREAL
_MC_ReadBoolParameter() Read external encoder parameters of data type BOOL
_MC_ReadActualPosition() Read actual position of external encoder
You can find additional information in the PLCopen blocks Function Manual and in the online
help.
Additional properties
The following is applicable for profiles:
● The specified quantity corresponding to a cam-defined function is traversed
● Dynamic response parameters can be specified for travel to the start value in the cam or
for travel from the end value
● If the profile is specified with a user-definable cam function, a value within the definition
range of the cam must also be specified as the starting point from which the profile is to be
applied
● The function in the cam is traversed to the end
● The definition range of the cam is evaluated in the user-defined time unit for time-related
profiles and in the user-defined position unit for position-related profiles; the range is
evaluated in the user-defined unit of the quantity to be traversed
● The direction of motion, velocity, and acceleration are calculated accordingly
● Behavior at the end of the profile can be configured
● The axis override function has no effect on the positioning profiles. The velocity override
and acceleration override are included in the velocity profiles.
The status of motion commands can be seen from the system variable for the command; if
necessary, additional information such as the braking distance and remaining distance for the
positioning command is provided in the posCommand system variable.
Commands that contain a CommandId parameter allow the CommandId to be initialized to its
defaults (value 0.0) (V3.1 and higher). This does not apply to _getStateOf...CommandId()
commands, since initialization to defaults would not be practicable in this case. The
CommandId should be explicitly specified here.
The following enables can be set specifically for the electric axis using _enableAxis() /
_disableAxis():
● Controller enable
● Drive enable
● Power enable
● Follow-up mode (motion commands are not accepted/executed)
● Force/pressure enable
The following enables can be set specifically for the hydraulic axis using _enableQFAxis() /
_disableQFAxis():
● Controller enable
● Q output enable
● F output enable
● Follow-up mode (motion commands are not accepted/executed)
● Force/pressure enable
The axis enables for the virtual axis have exactly the same effect as for the electric axis.
Note
Drive and encoder error messages can be acknowledged, even when the error is still present.
The same error is not to be signaled again.
The status of the actuator or sensor can be tested in the status indication of the corresponding
system variable (state).
Activate/deactivate axis
● The _enableAxis() / _disableAxis() commands are used to enable/disable an axis as an
electric axis where the TypeOfAxis is set to REAL_AXIS....
● The _enableQFAxis() / _disableQFAxis() commands are used to enable/disable an axis as
a hydraulic axis where the TypeOfAxis is set to REAL_QFAXIS....
These commands can be issued while the axis is in motion. Canceling enables results in a
technological alarm; the configured alarm response is executed.
Note
If, for example, _disableAxis() is called immediately after _enableAxis(), the commands can
displace one another from the command buffer.
● If, when activating the drive with _enableAxis(), the position controller is not enabled in
SIMOTION or the axis remains in follow-up mode because user-defined functions such as
motor identification, brake release, etc. are executed in the drive, settings options are
available with servoControlMode = INACTIVE or servoCommandToActualMode = ACTIVE.
Thus, the position controller does not position on the setpoint when _enableAxis() is
activated.
After the transition to the Operation or S4 drive state of the PROFIdrive state machine
(displayed in the actorMonitoring.power = ACTIVE system variable), the position controller
can then be enabled in SIMOTION with the _enableAxis() command and the
servoControlMode = ACTIVE parameter setting or switched from follow-up mode with
servoCommandToActualMode = INACTIVE.
● Axes can also be activated when the actual velocity is not equal to zero. You can use the
configuration data item decodingConfig.speedModeSetPointZero to set the mode for
getting the axis to zero velocity when the enables are set.
– decodingConfig.speedModeSetPointZero=YES
The velocity setpoint (and acceleration) of the axis are set directly to zero without a
braking ramp.
As of SCOUT V4.2, this is the standard setting when creating a new axis TO.
– decodingConfig.speedModeSetPointZero=NO
The axis is stopped via a braking ramp with the maximum dynamic values.
See also Manipulated variable superimposition (Page 139).
Please note that braking may be superseded by other motions which become effective
immediately after the axis is activated.
Table 8-5 Behavior and displays for axis enable with traversing mode "position and speed controlled"
Table 8-6 Behavior and display for axis enable with traversing mode "speed controlled"
For more detailed information about the _LineModule_control function block, see the
SIMOTION SCOUT online help (standard function for Line Modules) or the Function Manual
Standard Function for SINAMICS S120 Line Modules.
The LineModule_control function block can be used for firmware versions < V4.2. You can find
the block under Applications > Cross-sector applications > Function block for controlling Line
Modules in the SIMOTION Utilities & Applications.
Monitoring
The status of the current drive and power enables for an electric axis is displayed in the
following system variables:
● actormonitoring.drivestate (drive enable)
● actormonitoring.power (power enable)
In a hydraulic axis, the occupation status of the Q final controlling element and F controlling
element is displayed in the following system variables:
● actorMonitoring.QOutputState (Q output)
● actorMonitoring.FOutputState (F output)
The Q valve enable is displayed in actormonitoring.drivestate.
If the axis is switched from follow-up mode, the Control system variable switches to ACTIVE.
The Control system variable indicates whether the axis is able to generate motions.
The axis goes into follow-up mode after control startup. Enables are not mandatory in follow-
up mode.
For position-controlled axes, disabling an electric drive results in automatic disabling of the
position controller. The position control enable signal is ignored for speed-controlled axes. For
a hydraulic axis, enabling or disabling of the Q output results in disabling of the controller.
Force/pressure control
Force/pressure control can be explicitly enabled using the forceControlMode function
parameter in the enable/disable command. This requires that the axis is at a standstill (standstill
signal motionStateData.motionState=STANDSTILL).
When enabled, the last actual force/pressure value is taken as the force/pressure setpoint.
Force/pressure control is deactivated using the _disableAxis() or _disableQFAxis() command,
or by deselecting force/pressure control in the _enableAxis() or _enableQFAxis() command.
For switching over during motion, the conditional switchover with switchover criterion with
active pressure limitation is available.
System variables
For non-PROFIdrive-coupled drives, these bits have no significance and are rejected with
'illegal command parameters'.
The statuses can be read from status word STW via the driveData system variable. The state
display in the actorMonitoring.driveState and actorMonitoring.power system variable remains
unchanged.
Entering control bits 0 to 6 directly using the _enableAxis() and _disableAxis() functions can
be combined with specifying the command mode (DRIVE or POWER).
For detailed information about linking drives using PROFIdrive, refer to Coupling of digital
drives (Page 55).
For information on defining the reaction to technological alarms, refer also to Section
Adjustable response to RELEASE_DISABLE (Page 378).
Note
STW1 is initialized by the drive and the actorMonitoring.driveState and
actorMonitoring.power system variables are generated in STW1 according to the drive status.
(as of V3.2)
The status display in these system variables is thus delayed by one cycle clock relative to
the control word specifications. (as of V3.2)
Note
See also
Command groups (Page 216)
Enabling force/pressure control depending on switchover conditions (Page 340)
Coupling of digital drives (Page 55)
Dynamic limiting functions (Page 163)
Positioning and standstill monitoring (Page 105)
commands. This status can be reset with _resetAxis() or _disableAxis (). The command
becomes active immediately.
The motion on the axis is stopped according to the behavior set in the command; the position
control is not affected. Torque limiting, any active torque reduction (including when traveling
to fixed stop) and force/pressure limiting are retained.
Active and pending motion commands on the axis are aborted and cannot be resumed.
Note
When a motion is stopped using _stopEmergency() and a smooth velocity profile with jerk
specification is present during the axis acceleration phase, the velocity can continue to
increase until the acceleration is reduced by means of the jerk which has been set.
In extreme cases, the velocity can rise still further, until it reaches the configured maximum
velocity. The axis is only decelerated once acceleration has been reduced by the jerk.
With the parameter abortAcceleration (as of V4.2.1), you can set that a possible acceleration
does not exceed the jerk limitation, but is immediately cleared.
Status
The stopEmergencyCommand.state= ACTIVE status is set. Motion commands on the axis are
not active in this status.
Note
The stopEmergencyCommand=ACTIVE status may last longer than the _disableAxis()
command is active, so the stopEmergencyCommand=INACTIVE status should be checked
explicitly before the enables are reset.
See also
Stopping with preassigned braking ramp (Page 166)
position monitoring (and therefore no canceling of a command due to a local alarm response),
the command status remains ACTIVE.
Note
When a motion is stopped using _stop() and a smooth velocity profile with jerk specification
is present during the axis acceleration phase, the velocity can continue to increase until the
acceleration is reduced by means of the jerk which has been set.
In extreme cases, the velocity can rise still further, until it reaches the configured maximum
velocity. The axis is only decelerated once acceleration has been reduced by the jerk.
With the parameter abortAcceleration (from V4.2.1), you can set that a possible acceleration
does not exceed the jerk limitation, but is immediately cleared.
Note
_stopEmergency() is used to abort all motion commands; it is not possible to continue in
this case.
Restart
When restart is activated on the technology object with the activateRestart parameter, the
technology object performs a restart.
● An active motion on the axis is aborted without error messages or the like.
● The actual value system of the axis and, thus, the homing status is reset.
The _resetAxis() command stops any synchronous operation command that is in effect on this
axis. The Synchronous Operation technology object on the synchronous axis is not reset.
Note
Setting restartActivation initiates a restart that is performed asynchronously. For this reason,
it can take some time for the TO restart to begin.
If synchronous processing is required, _resetAxis() with the ACTIVATE_RESTART
parameter must be used.
System variables
See also
Saving the Command ID (Page 366)
System variables
8.3.1 Homing
The _homing() command homes the axis.
Various homing modes can be set by means of the homingMode parameter:
● Active homing (ACTIVE_HOMING)
The axis is homed according to the sequence defined in the configuration.
● Setting of current position value (DIRECT_HOMING)
The axis coordinate system is set to the value of the home position coordinate. The axis
does not move.
● Offsets the actual position value (DIRECT_HOMING_RELATIVE)
The axis coordinate system is offset by the value of the home position coordinate. The axis
does not move.
● Absolute encoder adjustment
– homingMode=ENABLE_OFFSET_OF_ABSOLUTE_ENCODER
The configured value for the absolute encoder adjustment is compensated additively
with the retentively stored offset. The total offset is stored in the NVRAM and is available
after the control is switched off.
– homingMode=SET_OFFSET_OF_ABSOLUTE_ENCODER_BY_POSITION (as of V4.1
SP1)
The value in the homePosition parameter is set as the current position, and the resulting
absolute encoder offset is calculated based on this. The total offset is stored retentively
and is available after the control is switched off.
Note
Once a new project has been downloaded to the control, the stored offset is no longer
available.
The dynamic parameters for homing are programmable and refer to all phases of the homing
procedure.
An axis has homed status when the axis coordinate system has been aligned with the homing
signal. The status can be read out in the positioningstate.homed system variable.
System variables
See also
Homing (Page 87)
8.3.2 Moving
The _move() command can be applied to all axis types.
With the speed-controlled axis, the motion is implemented with speed specification.
With the positioning axis, the motion is implemented as velocity specification. In this case, the
motion can be implemented with position-control (signal-integrated velocity) or only as a
velocity specification without position control.
This selection is made using the movingMode parameter in the command.
● Position-controlled motion (POSITION_CONTROLLED)
● Speed-controlled motion (SPEED_CONTROLLED)
The movingMode parameter has no effect on the speed-controlled axis.
The _move() command can be applied as a superimposed command.
AS of SIMOTION V4.4, an existing acceleration or deceleration can be set to zero immediately
when a motion is initiated by the _move() command. The existing acceleration or deceleration
is not first reduced via the jerk. The abortAcceleration function parameter is available for this
purpose.
See also
Traversing the axis via velocity specifications (Page 166)
8.3.3 Positioning
● The _pos() motion command moves the axis to the programmed target position using an
assignable velocity profile.
● The position can be specified as an absolute or relative position.
● The direction of motion can be specified for modulo axes because the target position can
be attained in various directions with such axes. The various modes must be entered using
the direction parameter (see table).
● _pos() commands have a special blending mode that links the _pos command to the
previous _pos command.
● The _pos commands can be applied as superimposing commands.
Note
While the positioning motion is active, if the setpoint system is reset using
_redefinePosition() or _homing() (DIRECT_HOMING / PASSIVE_HOMING), the motion
is resumed as follows:
● For absolute positioning, the target position is approached in the newly-defined
coordinate system.
● For relative motion, the relative path is traveled. In this case, offsetting the logical
coordinate system has no effect.
System variables
See also
Positioning (Page 167)
Positioning with blending (Page 167)
Y
Y>YHORFLW\XQLWRID[LV@ W
W>WLPHXQLWRID[LV@
The status and values are displayed in the elements of the velocityTimeProfileCommand
system variable.
See also
Behavior at the end of the profile (V3.2 and higher) (Page 214)
Traversing with user-defined motion and force/pressure profiles (Page 210)
Note
The set velocity must be a value other than zero at the starting point.
The dynamic response parameters for any necessary transition motions, e.g. for entering the
profile and exiting the profile, can be programmed on the command.
The traversing behavior at the end of the profile is set during configuration in
decodingConfig.behaviourAtTheEndOfProfile.
In addition, a tolerance for the detection of the end of the profile can be specified via the
TypeOfAxis.VelocityPositionProfile.endPositionTolerance configuration data element. The
tolerance is required if the above command has been preassigned with the
WHEN_MOTION_DONE command transition.
The movingMode parameter in the command can be used to specify whether the axis is to
move with position control or only at a defined velocity.
Y
Y>YHORFLW\XQLWRID[LV@ V
V>SRVLWLRQXQLWRID[LV@
The status and values are displayed in the elements of the velocityPositionProfileCommand
system variable.
See also
Behavior at the end of the profile (V3.2 and higher) (Page 214)
Traversing with user-defined motion and force/pressure profiles (Page 210)
V
V>SRVLWLRQXQLWRID[LV@ W
W>WLPHXQLWRID[LV@
The status and values are displayed in the elements of the positionTimeProfileCommand
system variable.
See also
Behavior at the end of the profile (V3.2 and higher) (Page 214)
Traversing with user-defined motion and force/pressure profiles (Page 210)
System variables
See also
Overview of torque limiting via torque reduction (Page 174)
Technology data (Page 183)
Traversing with user-defined motion and force/pressure profiles (Page 210)
The domain of the cam to be used in the command is interpreted as a position, and the range
as a force/pressure limiting value in the respective position and force/pressure units of the axis.
Behavior at the end of profile:
● Last value is still in effect
● Force/pressure limiting remains active
The profile is started at the current axis position. This must fall within the domain of the profile,
otherwise the command is aborted and an alarm is triggered.
S
S>IRUFHSUHVVXUHXQLWRID[LV@ V
V>SRVLWLRQXQLWRID[LV@
The status and values are displayed in the elements of the forceLimitingCommand system
variable.
See also
Traversing with user-defined motion and force/pressure profiles (Page 210)
S>IRUFHSUHVVXUHXQLWRID[LV@ W
W>WLPHXQLWRID[LV@
See also
Traversing with user-defined motion and force/pressure profiles (Page 210)
S
S>IRUFHSUHVVXUHXQLWRID[LV@ W
W>WLPHXQLWRID[LV@
The status and values are displayed in the elements of the forceTimeProfileCommand system
variable.
If the step enabling condition is satisfied or the status is WHEN_INTERPOLATION_DONE, a
pressure/time profile can switch from pressure control to position control.
See also
Traversing with user-defined motion and force/pressure profiles (Page 210)
S
S>IRUFHSUHVVXUHXQLWRID[LV@ V
V>SRVLWLRQXQLWRID[LV@
The status and values are displayed in the elements of the forcePositionProfileCommand
system variable.
See also
Traversing with user-defined motion and force/pressure profiles (Page 210)
System variables
See also
Overview of force/pressure limiting (Page 202)
System variables
See also
Force/pressure control with velocity limiting (Page 200)
See also
Force/pressure control with velocity limiting (Page 200)
See also
Force/pressure control with velocity limiting (Page 200)
See also
Travel to fixed endstop (Page 180)
%HIRUHBUHGHILQH3RVLWLRQ
BUHGHILQH3RVLWLRQ
$FWXDOYDOXH 6HWSRLQW
$FWXDOYDOXH 6HWSRLQW
$IWHUBUHGHILQH3RVLWLRQ
%HIRUHBUHGHILQH3RVLWLRQ
BUHGHILQH3RVLWLRQ
$FWXDOYDOXH 6HWSRLQW
$FWXDOYDOXH 6HWSRLQW
$IWHUBUHGHILQH3RVLWLRQ
If the set positions and/or actual positions of several axes must be re-set concurrently, this can
be realized as follows:
● Programming of the _redefinePosition() commands for the various axes within the IPO-
synchronous user task
Requirement: For the associated axes, the appropriate IPO cycle clock must be set for this
IPO-synchronous user task.
● Programming of the _redefinePosition() commands within a block for the synchronous
processing
(See Motion Control Base Functions manual, Synchronous Start section).
See also
Superimposed motion (Page 172)
Terminate simulation.
The _disableAxisSimulation() command resets the axis out of program simulation. The real
actual values then continue to be accepted. All other states remain unchanged. Any existing
following error is removed immediately.
The following examples describe how to avoid the following error being removed immediately.
The _resetAxis() command also terminates the program simulation of the axis.
Note
The outputting of setpoint values may be blocked by the simulation.
Axis errors, such as "Drive not connected" or "Encoder fault" cannot be avoided in this way;
the axis must be functional same as a non-simulated axis.
System variables
See also
Setting as a real axis without drive (axis simulation) (Page 59)
System variables
None
See also
Saving the Command ID (Page 366)
System variables
None
See also
Saving the Command ID (Page 366)
Note
The maximum number of CommandIds with command status that can be stored is specified
in the decodingConfig.numberOfMaxBufferedComandId configuration data element. This
must be managed by the user program. If the buffer overflows, the command will be rejected
with a return value.
System variables
Note
If the active measuring system is switched via a data set changeover, the
_setAndGetEncoderValue() system function should be used to synchronize the two
measuring systems before the switchover takes place. This will prevent unwanted
compensating motions of the position controller if differences in position are identified.
The data sets must have the same control loop structure and must not contain a change that
requires a restart. This means that when DS_1 is with DSC, DS_2 must also be with DSC.
Settings that require a restart cannot be activated via a data set changeover.
See also
Data sets (Page 206)
See also
Data set overview (Page 206)
See also
Data set overview (Page 206)
Note
The force/pressure-specific data of the data set cannot be written on the speed-controlled
axis.
Note
The force-/pressure-specific data of the data set cannot be read on the drive axis.
8.6.15 Writing the data of the data set (hydraulic functionality only)
The _setQFAxisDataSetParameter() command can be used to overwrite the specific
parameters for the axis with hydraulic functionality in an inactive data set. The data set number
is specified in the command.
The following specific parameters of the axis with hydraulic functionality are contained in the
data set:
● Inversion of F output
● Dynamic response adaptation to the axis with hydraulic functionality
● Data for the speed controller on the drive axis with hydraulic functionality
Detailed information about the parameters can be found in the TP Cam System Functions
Reference List.
Note
The specific data for the axis with hydraulic functionality in the data set cannot be written on
the drive axis.
8.6.16 Reading the force/pressure-specific data of the data set (hydraulic functionality only)
The _getQFAxisDataSetParameter() command can be used to read the specific parameters
for the axis with hydraulic functionality in the data set. The data set number is specified in the
command.
The command reads the data that can be written with the _setQFAxisDataSetParameter()
command.
Note
The specific data for the axis with hydraulic functionality in the data set cannot be read on
the speed-controlled axis.
Field/Button Meaning/Instruction
Measuring functions status display This area shows whether or not the drive is active in the step. The following
information is displayed:
● Measuring function active
Drive/axis is moving
● Measuring function inactive
Drive/axis is not moving
Drive unit This combo box offers all the SINAMICS drive units in the open project that
contain drives operated in the "SERVO" closed-loop control type and that the
motor measuring system uses as encoders.
Selection is possible provided the master control has not yet been assumed.
Assume control priority/ This allows you to assume master control in order to perform automatic
Give up control priority controller setting.
Master control can be released only once the drive has been switched off.
Operator buttons
Drive ON
This button can be pressed if master control has already been assumed.
This enables the infeed and assigns the drive enable. This is not the same as
a POWER ON of the hardware. Afterwards, the controller setting can be started.
To cancel and then restart the function, perform the following operating input
sequence:
Switch off drive -> Switch on drive
Drive OFF
You can use this button to reset the functions initiated by Drive ON.
This enables the infeed and inhibits the drive enable. This is not the same as a
POWER OFF of the hardware. If it is detected that calculated parameters are
present (the last step has been completed) that have not yet been transferred
to the drive/axis, a confirmation prompt will be issued, asking whether the
controller setting is now complete and, as a result, the calculated parameters
should be discarded.
Automatic execution
Automatically performs all steps of the controller setting starting with the current
selection on the step display.
This button will be deactivated once the last possible step has been performed.
Execute step
The single step of the controller optimization selected on the step display will
be performed and the step display then incremented by one step.
This button will be deactivated once the last possible step has been performed.
Step back
Sets the step display back one step. If the step display is at step 1, the button
is deactivated.
Cancel step
Cancels the execution of the current step; the step display remains at the
canceled step.
Help
Opens the help for this screen form.
Field/Button Meaning/Instruction
Controller selection In Controller selection, you can select which controller to set. The view on the
screen form will then show the appropriate controller.
The combo box contains the following selection options:
● "Speed controller" (always available)
● "Position controller (DSC)" (offered only if SCOUT is installed on the PC).
Before the setting is applied, a few call conditions are checked and any
unfulfilled conditions are displayed.
The selection can be changed at any time, provided no step is currently being
executed.
Drive selection In Drive selection, a drive corresponding to the setting in the Drive unit field can
be selected.
The following rules apply for the "Drive" input field:
● The field is labeled "Drive". If SCOUT is installed on the PC, it is called "Drive
(axis)".
● If SCOUT is installed and the drive is connected to at least one axis, the
connected axis is appended to the drive name in brackets, in the form
"(<device>.<axis name>)". If the drive is to be connected to multiple axes,
"..." is appended to the first axis name.
● The tool tip for the Drive field contains all names in the syntax shown above
for the axes connected with the drive.
The field can only be operated provided the master control has not yet been
assumed.
As soon as the "Drive selection" field registers a change, the parameters of the
newly selected drive are registered in the "Current value" column in the result
display for a cyclic update.
Progress message box The step control presents the status overview of the steps of the "automatic
controller setting" on the left.
The step has been executed.
Selection of the step that will be executed next or is currently being executed.
Step has not yet been executed.
Expert mode Checkbox
If the checkbox for Expert mode is selected, the Amplitude, Bandwidth,
Averaging operations, and Offset input fields are displayed. The user can enter
special settings for the next optimization step in these fields.
The checkbox is deselected as the default setting. If the checkbox is
deactivated, the parameter settings determined by the optimization tool are
used for the measurement.
Kv factor As a result of step 2 of the position controller optimization ("Calculation of the
(controller = position controller) position controller setting"), the determined Kv factor is indicated. Provided no
new value has been calculated, the display shows "–". This is also the standard
display when the screen form starts.
Select axes and data sets This button can be used to call a dialog that shows the possible axes (in
button "…" accordance with the relevant requirements and supplementary conditions) and
their axis data sets in which the Kv factor can be accepted.
(controller = position controller)
Field/Button Meaning/Instruction
Result display This table displays the parameters whose values were determined during the
controller optimization.
The Current value column displays the current value of the parameter read out
cyclically from the target device.
The Calculated value column displays the value of the parameter determined
from the controller setting. Provided no new value has been calculated, the "–"
character is displayed instead of the value. This is also the standard display
when the screen form starts.
Accept The Accept button is active only when step 4 of the speed controller optimization
(controller = speed controller) has been completed successfully.
The calculated values are applied to the drive.
Accept The Accept button is active only under the following conditions:
(controller = position controller) ● Step 2 for the position controller optimization must have completed
successfully.
● An online connection to the associated SIMOTION device must exist.
● The axis is online-consistent.
● The axis data set table contains at least one data set.
The calculated values are applied to the drive.
Note
Emergency cancelation of automatic setting with <spacebar>
The following actions are performed:
● The step currently being executed is canceled
● The drive is disabled
See also
Overview of automatic controller setting (as of V4.1 SP1) (Page 238)
● MOTION_EMERGENCY_STOP
– Controlled motion stop with maximum ramp values/limits for the axis.
– The current motion command (thus also the MotionIn command) is stopped.
– New motion commands are rejected.
– Motion commands are not canceled and are resumed when the error reaction is
acknowledged.
– No more new motion commands are accepted.
– Further reactions can be specified by the user in the TechnologicalFaultTask.
● MOTION_EMERGENCY_ABORT
– Controlled motion stop with maximum axis dynamic values (starting from the current
setpoint).
– Active commands (IPO) are aborted and signaled back to the user program with an error
code.
– The drive remains active.
– The position controller remains active.
– The IPO remains active.
– Further reactions can be specified by the user in the TechnologicalFaultTask.
– After the error is acknowledged with _resetError(), the axis can travel again.
(provided that the cause of the error no longer exists)
● FEEDBACK_EMERGENCY_STOP
– Motion stop with preassigned braking ramp.
See Stopping with preassigned braking ramp (Page 166).
– Manipulated variable superimposition not effective.
– Active commands (IPO) are aborted and signaled back to the user program with an error
code.
– The drive remains active.
– The position controller remains active.
– The IPO goes into follow-up mode, preassigned braking ramp servo (time specification
in the servo for preassigned braking ramp)
IPO and servo are then active again.
– Further reactions can be specified by the user in the TechnologicalFaultTask.
– After the error is acknowledged with _resetError() and the axis is reset with
_resetAxis(), the axis can be traversed further (provided the cause of the problem no
longer exists).
● OPEN_POSITION_CONTROL
– Motion stop with speed setpoint zero and abort
– The position control loop is decoupled from the setpoint circuit.
– Active commands (IPO) are aborted and signaled back to the user program with an error
code.
– The position controller enable is canceled.
– The control unit transmits the setpoint to the drive.
– The drive stops (because of setpoint 0).
– The drive remains active.
– The Ipo goes into follow-up mode.
– Further reactions can be specified by the user in the TechnologicalFaultTask.
– After the error is acknowledged with _resetError() and the drive and position controller
are activated with _enableAxis(), the axis can travel again (provided that the cause of
the problem no longer exists).
● RELEASE_DISABLE
– Motion disable with controller disable and abort of all commands
– The drive enables are canceled.
See also Coupling of digital drives (Page 55) and Adjustable response to
RELEASE_DISABLE (Page 378).
– The controller enables are canceled.
– Active commands (IPO) are aborted and signaled back to the user program with an error
code.
– Position controller and Ipo go into follow-up mode.
– Further reactions can be specified by the user in the TechnologicalFaultTask.
– After the error is acknowledged with _resetError() and the drive and position controller
are activated with _enableAxis(), the axis can travel again (provided that the cause of
the problem no longer exists).
Note
Active commands are commands in the IPO or commands that are being executed;
these commands are no longer in the motion buffer.
When you acknowledge an error with _resetAxisError(), you must delete any
commands in the motion buffer with _resetMotionBuffer().
The preset responses of the technology alarms can be overwritten by higher-priority
stop responses.
Global alarm reactions can be set on the technology object (execution system,
FaultTasks).
See also
Jerk limitation for local stop response (V3.2 or higher) (Page 171)
See also
Alarm reactions (Page 375)
8.8.3 Toleration of the failure of an encoder not involved in closed-loop control (V4.0 and
higher)
If an encoder that is not involved in closed-loop control fails, the system should neither stop
the axis nor disable the drive.
In the following cases, an encoder is not involved in closed-loop control:
● If the encoder is not selected.
That is, one of the 8 possible encoders of the axis is configured and active (running) but it
is not the selected encoder at the moment.
● If the encoder is selected but not involved in closed-loop control.
This behavior is set using the
typeOfAxis.numberOfEncoders.Encoder_1.sensorControlConfig.tolerateSensorDefect
configuration data element.
As of SINAMICS V2.6.2, the failure of an encoder not involved in closed-loop control is
indicated by alarm 20015.
Interconnections
The External Encoder technology object can be interconnected with the following technology
objects:
● Synchronous Operation technology object
The External Encoder technology object is used to provide a master value.
● TO output cam
The External Encoder technology object is used to provide a reference value.
● TO cam track
The External Encoder technology object is used to provide a reference value.
● TO measuring input
The External Encoder technology object is used to provide a reference value.
Note
An encoder in a PROFIdrive axis telegram can only be used for an external encoder
TO or for the encoder of a TO axis in cyclical operation if a TO axis is also created on
the PROFIdrive telegram and is not deactivated.
– Encoder from a PROFIdrive axis telegram to ADI4 (at least one axis must be created
on the ADI4)
– Encoder from a PROFIdrive axis telegram to IM174 (at least one axis must be created
on the IM174)
– Encoder from a PROFIdrive axis telegram to a non-SINAMICS drive
● Actual value from a PROFIdrive encoder telegram
– Encoder from a PROFIdrive encoder telegram to a SINAMICS encoder object, e.g. to
an SMC module
– Encoder from a PROFIdrive encoder telegram to a PROFIBUS encoder module, e.g.
SIMODRIVE sensor
– Encoder from a PROFIdrive encoder telegram to a PROFINET encoder module, e.g.
MC encoder
– Encoder from a PROFIdrive encoder telegram to any other encoder module
● Actual value as a direct value in the I/O area
● Only C2xx: Actual value via encoder signal evaluation directly at the SIMOTION CPU
Figure 10-1 Definition of the mounting type of an external encoder in SIMOTION SCOUT
● Incremental encoder
On the controller side, only the difference between two read encoder values is evaluated.
Values are read out in the servo cycle clock at equal intervals. In order to determine the
mechanical axis position, the axis must be homed each time the system is switched on.
Position zero is displayed after it is switched on.
● Absolute encoder
This encoder supplies the absolute value or, in the case of an absolute value in the
PROFIdrive message frame, the absolute value is read one time after the system is
switched on. After this, the actual value is processed in the same way as with the
incremental encoder.
The absolute value supplied by the encoder is assigned to the associated mechanical axis
position by means of the absolute encoder adjustment. The absolute encoder adjustment
occurs only one time, and the controller remembers the compensation value/absolute
encoder offset even after it is powered on/off.
Certain situations, such as an encoder failure, a restart, etc., can require an absolute
encoder re-adjustment. For more information, refer to the chapter titled Absolute encoder
homing/Absolute encoder adjustment.
The following absolute encoder types are differentiated:
– Absolute encoder with absolute encoder setting
The measuring range of this encoder is greater than the axis traversing range.
The axis position results directly from the current encoder value since this can be
uniquely mapped.
An offset may be entered - it is not necessary to hold overflows within the controller.
There are no overflows of the absolute actual value stored when SIMOTION is switched
off. The next time it is switched on, the actual position value is generated from the
absolute actual value only.
– Absolute encoder with cyclic absolute encoder setting
The axis traversing range is greater than the range of values measured by the encoder,
and the encoder returns an absolute value within its measuring range.
The controller also counts the number of measuring ranges internally in order to hold a
unique actual axis position beyond the range of measured values.
When SIMOTION is switched off, the overflows of the absolute actual value are stored
in the retentive memory area of SIMOTION. The next time it is switched on, the stored
overflows are taken into account for the calculation of the actual position value.
The actual position of the axis is passed internally in a 64-bit integer variable.
Example of a single-turn encoder with 4,096 increments:
The position of the encoder is mapped in bits 0 to 11, and the number of overflows of
the encoder range in bits 12 to 63.
Example of a multi-turn encoder with 4,096 x 4,096 increments:
The position of the encoder is mapped in bits 0 to 23, and the number of overflows of
the encoder range in bits 24 to 63.
The overall position of the axis is retained after the controller is switched off. When the
controller is switched on again, if the actual encoder value does not match the actual
position stored in the controller, it will be corrected to a maximum of ± ½ the encoder
measuring range.
Note
If the axis/encoder is moved by more than one half the encoder measuring range with
the controller switched off, the actual value in the controller no longer matches the real
axis.
See also
Absolute encoder homing / absolute encoder adjustment (Page 98)
Options are:
● Incremental encoders/absolute encoders with number of increments or pulses/revolution
(for electric axes)
● Interval counters (for hydraulic axes)
● Encoders providing the velocity as a direct value in the I/O area (for hydraulic axes)
● Read-out of the speed from the PROFIdrive message frame and provision for technological
functionality, e.g. velocity monitoring
● Resolution.distance
Fine resolution
The fine resolution of the actual value is the interpolation result of a signal period of an encoder
pulse.
The fine resolution steps are generated by the measuring electronics from the raw signal of
the encoder pulses. Factors as a multiple of 2 are possible.
Example:
● A rectangle signal has a fine resolution of 1
● Two rectangle tracks (TTL signal) offset by 90° have a fine resolution of up to 4
● Depending on the measuring electronics, a sinusoidal signal can have any fine resolution,
in principle, e.g. 2,048
Depending on the defined encoder type, the default value 0 is interpreted differently in
SIMOTION (see table: Default settings for fine resolution in SIMOTION).
In SIMOTION, the multiplication factor is specified, rather than the shift factor/number of bits
(x).
The actual value, including the fine resolution, is indicated in the
sensorData.incrementalPosition system variable.
Configuration data:
● AbsEncoder.absResolutionMultiplierCyclic
● IncEncoder.incResolutionMultiplierCyclic
Data width of absolute value (without fine resolution) for absolute encoders
The data width of the absolute value (without fine resolution) is a result of the sum of the bits
for representing the number of encoder pulses and the bits for representing the maximum
number of revolutions that can be registered by the encoder according to the type plate.
Example:
4,096 pulses/rev (= 212) and a maximum of 4,096 revolutions that can be registered yields a
12 + 12 = 24-bit data width of the absolute value.
Configuration data:
● AbsEncoder.absDataLength
Encoder type Encoder mode Fine resolution (Gn_XIST1) Fine resolution on the
absolute value (Gn_XIST2)
Onboard C2xx
Incremental encoder Rectangle 4 -
Stepper motor 1 -
Absolute encoder SSI 1 1
Encoder in PROFIdrive axis telegram
(applies to SINAMICS, SIMODRIVE 611U and MASTERDRIVES)
Incremental encoder Rectangle 2048 -
Sinusoidal 2048 -
Resolver 2048 -
Endat 2048 -
Absolute encoder Endat 2048 512
SSI 1 1
...Cyclic absolute Resolver 2048 512
(only pole pair number 1
possible)
Endat 2048 512
SSI 1 1
PROFIBUS absolute encoder in PROFIdrive encoder telegram
Absolute encoder SSI 2(32 - Number of data bits) 1
These settings are aligned to the default parameter settings of the corresponding Siemens
devices. If the behavior is different, alignment with the encoder should be performed by making
a corresponding entry in the configuration data of the technology object or in the parameters
of the drive or encoder. Depending on the device it may be necessary to assign the
corresponding parameters in the drive or encoder with the value of the exponent (shift factor).
Device-specific features for Masterdrives with Endat encoders:
For Masterdrives with Endat encoders, Endat or SSI can be selected in the encoder mode.
However, the fine resolution must always be configured in the axis wizard of the Axis or External
Encoder technology object differently from the default settings (see Encoder list (Page 391)).
Default setting:
● Fine resolution (~Encoder.~ResolutionMultiplierCyclic) = 0
● Fine resolution of the absolute encoder in Gn_XIST2
(AbsEncoder.absResolutionMultiplierAbsolute) =0
● If encoderMode=PROFIDRIVE, the values are evaluated as available, since the correct
values are adapted by the drive. A default setting of 0 is not permitted for this setting.
See also
Encoder list (Page 391)
See also
Encoder assignment and terminology (Page 387)
Encoder list (Page 391)
Note
For SINAMICS drives with earlier versions than SIMOTION V4.2, it is possible to transfer the
encoder parameters from the drive. When assigning encoders in the axis wizard, click Data
transfer from the drive.
If you are using a DRIVE-CLiQ component with electronic type plate (e.g., SMI motor, DRIVE-
CLiQ encoder) you must first upload the parameters from the drive and save them in the
project (online commissioning). If the online commissioning is carried out at a later point, you
can work with the default settings of the axis wizard in the meantime during offline
configuration. Once online commissioning is complete, upload the drive parameters, save
them in the project, run the axis wizard again, and perform the Data transfer from drive
function.
If you change the encoder data in the drive, you must perform an alignment again in the axis
wizard.
Inconsistent configuration
In the event of errors or inconsistencies between the configuration data in SIMOTION and the
parameter settings for the encoder in the drive, a technological alarm is triggered as soon as
an online connection is established between the control and the drive/encoder.
As off SIMOTION Runtime V4.4: Technological alarm 20025 with applicable reason
In SIMOTION Runtime < V4.4: Technological alarm error 20005: Device type:2, log.address:
1234 faulty. (Bit:0, reason: 0x80h)
For PROFIdrive encoders and encoders on the axes according to PROFIdrive, a comparison
of the parameter assignment takes place via the following drive/encoder parameters:
P979 (SensorFormat) according to PROFIdrive, which contains information about the type,
resolution, and shift factors.
For drives or encoders that do not support parameter P979, the configuration data is evaluated
as valid without alarm message.
,QFUHPHQWV )LQHUHVROXWLRQ
Figure 10-2 Example composition of the 32-bit encoder data of the cyclic actual value Gn_XIST1
Example of for an encoder with number of encoder pulses = 2048 (data width, 11 bits)
The fine resolution in SIMOTION in the Inc/AbsResolutionMultiplierCyclic configuration data
element is set to the default setting 0 and is thus evaluated as a default fine resolution of 2048
(the default value depends on the encoder mode setting; see Table Default settings for fine
resolution in SIMOTION).
SIMODRIVE 611U:
SIMOTION 611U
Encoder pulses per revolution 1)
=2048 P1007 =2048
Fine resolution 2) =0 (≡ 2048) P1042 =11
1)
Inc/AbsEncoder.Inc/AbsResolution
2)
Inc/AbsEncoder.Inc/AbsResolutionMultiplierCyclic
SINAMICS:
SIMOTION SINAMICS
Encoder pulses per revolution 1)
=2048 P408 =2048
Fine resolution 2) =0 (≡ 2048) P418 =11
1)
Inc/AbsEncoder.Inc/AbsResolution
2)
Inc/AbsEncoder.Inc/AbsResolutionMultiplierCyclic
Note the information about the SINAMICS alignment.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Figure 10-3 Example composition of the 32-bit encoder data of the absolute actual value Gn_XIST2
The number of bits resulting from the data width of the absolute value (without fine resolution)
and the number of data bits for the fine resolution of the absolute actual value must not exceed
32. If it is less than 32, leading zeroes are added in Gn_XIST2.
24-bit data width for the total resolution yields 0x01000000 (32-bit HEX number). This number,
represented separately in HighWord and LowWord, equals 0x0100 in the HighWord and
0x0000 in the LowWord. The decimal values of these two parts (0x0100 = 256 decimal) are
to be entered as follows:
total resolution (high) = 256
total resolution (low) = 0
This results in the following consistent configuration for the technology object:
the encoder value is transferred left-justified to Gn_XIST1; the unused bits of the fine resolution
are set to 0 according to PROFIdrive, but must be specified in the fine resolution of the actual
value. This results in a fine resolution of 8 bits (32 bits - 24 bits = 8 bits) (28 = 256 as a factor).
According to the setting above, the absolute value in Gn_XIST2 has a right-justified alignment
and therefore a fine resolution of the absolute value in Gn_XIST2 of 0 bits (20 = 1 as a factor).
Note
An encoder in a PROFIdrive axis telegram can only be used for an external encoder TO or
for the encoder of a TO axis in cyclical operation if a TO axis is also created on the PROFIdrive
telegram and is not deactivated.
See also
Encoder assignment and terminology (Page 387)
Encoder list (Page 391)
For the Left-justified/Right-justified without sign setting, the measured value for the setting of
the encoder resolution/measured value width is processed as follows:
and
0 0 0 0 0 0 0 0 1. . 1. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >16
x x x x x x x x x. . x. x x x x x x x x x x x x x x
Figure 10-4 Masked reading of the analog IO value left-justified without sign
and
0 0 0 0 0 0 0 0 1. . 1. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >16
x x x x x x x x x. . x. x x x x x x x x x x x x x x
Figure 10-5 Masked reading of the analog IO value right-justified without sign
For the Left-justified/Right-justified without sign setting, the measured value for the setting of
the encoder resolution/measured value width is processed as follows:
1
0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Hidden data bits
15 1 Sign bit
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 not
1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
31
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>0 or >0
<16 and
x x x x x x x x x x x x x x x x and 0 0 Actual value
Raw value
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >15
x x x x x x x x x x x x x x x x x x x x x x x x
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15
and
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31
Figure 10-6 Masked reading of the analog IO value left-justified with sign
1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 Hidden data bits
15 1 Sign bit
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
16 not
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
31
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>0 or >0
<16 and
x x x x x x x x x x x x x x x x and 0 0 Actual value
Raw value
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 >15
x x x x x x x x x x x x x x x x x x x x x x x x
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15
and
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31
Figure 10-7 Masked reading of the analog IO value right-justified with sign
Actual velocity
The actual value information can include the number of pulses between two scans or,
alternatively, the time interval between two sequential pulses. This type of encoder is used,
for example, to measure actual velocities with the hydraulic axis functionality.
Example: Use of an ET 200S, COUNT module
If the not ready status or an error is displayed in these identifiers during operation, and the
ready bit or error bit is configured, technology alarm 20005 is issued with the sensor error
identifier.
If the Axis technology object is ready during ramp-up, but the direct value in the I/O area is not
yet in ready status, the WAIT_FOR_VALID Sensor status is displayed on the encoder.
(sensorData[n].state system variable)
As of V4.1 SP1, the direct value in the I/O area does not have to be updated in every equidistant
communication cycle (for example, if an encoder connected to the peripheral module is not
able to supply a new measured value in each cycle during a fast communication cycle clock
due to measurement reasons or processing time reasons). In such cases, the actual value is
extrapolated by the control.
The control supports the following options:
● The peripheral module displays the new measured value set in an update bit/update
counter. The update bit or update counter is defined in the analogSensor.UpdateCounter
configuration data element.
UpdateCounter configuration: The update counter can be one (toggle) bit or several
(counter) bits in width.
● The refresh cycle of the actual value in the peripheral module is known and is defined
directly in the analogSensor.UpdateCounter.updateCycle configuration data element.
Default setting with refresh cycle = 1 (default behavior for updating in every cycle clock)
See also
Actual value measurement / actual value system (Page 132)
See also
Actual value measurement / actual value system (Page 132)
See also
Actual value measurement / actual value system (Page 132)
See also
Passive homing/on-the-fly homing (Page 96)
Direct homing/setting the home position (Page 97)
Relative direct homing/relative setting of home position (V3.2 and higher) (Page 97)
(QFRGHU]HURSRVLWLRQ =HURSRVLWLRQRIWKHH[WHUQDOHQFRGHU
$EVROXWHHQFRGHURIIVHW
Figure 10-8 The external encoder value is the encoder zero position plus the absolute encoder offset.
The absolute encoder offset (as of V3.2) may be set as an additive or absolute value.
This absolute encoder offset is stored in the NVRAM and remains in effect until the next
absolute encoder adjustment. This function must therefore be executed once when the control
is commissioned.
The offset value and its calculation are set during configuration.
2IIVHWE\
DEVROXWHHQFRGHUDGMXVWPHQW
SHUPDQHQW &RUUHFWLRQGXULQJUXQWLPH
,QHIIHFWRQ
(QFRGHU 32:(521DQG
SRVLWLRQ UHVWDUW
$EVROXWHHQFRGHU 9DOXHRIWKHH[WHUQDOHQFRGHU
● Actual external encoder value = actual encoder value + (previous offset already in effect +
absshift)
● (new) offset = previous offset + absshift
absHomingEncoder.absshift is added to the existing absolute encoder offset whenever the
_synchronizeExternalEncoder() function is called.
Setting an absolute offset (as of V3.2)
Setting absHomingEncoder.setOffsetOfAbsoluteEncoder=ABSOLUTE (as of V3.2):
absHomingEncoder.absshift is set as the absolute encoder offset whenever the
_synchronizeExternalEncoder() function is called.
● Actual external encoder value = actual encoder value + absshift
Setting the value of the external encoder to a predefined position (as of V4.1 SP1)
When the synchronizingMode=SET_OFFSET_OF_ABSOLUTE_ENCODER_BY_POSITION
function parameter is set on the _synchronizeExternalEncoder() command, the value in the
syncPosition parameter will be set as the current position. The resulting absolute encoder
offset is calculated with this value, indicated in the absoluteEncoder[n].totalOffsetValue system
variable, and stored as a retain variable in the system.
The value in the absHomingEncoder.absshift configuration data element is not changed.
Displaying the offset
The offset can be read out. (as of V3.1)
The complete offset is indicated in the absoluteEncoder.totalOffsetValue system variable and
the activation status of the complete offset indicated in the absoluteEncoder.activationState
variable.
In addition, the status indicates whether the _synchronizeExternalEncoder() function with
synchronizingMode= ENABLE_OFFSET_OF_ABSOLUTE_ENCODER has been executed at
least once after the project was downloaded.
States that require a new setting of the external encoder value
● Once a new project has been downloaded to the control, the stored offset is no longer
available.
If the control already contains a project before the new project is downloaded, and if the
technology object name is not changed, the stored offset is retained (as of V4.1 SP1). This
behavior also applies for an upgrade, i.e. it is not version-dependent.
● After power is cycled off and on, the offset is deleted unless the project was saved to the
ROM.
● After a memory reset.
See also
Absolute encoder homing / absolute encoder adjustment (Page 98)
Direct homing/setting the home position (Page 97)
Relative direct homing/relative setting of home position (V3.2 and higher) (Page 97)
Absolute encoder homing/absolute encoder adjustment
Note
You can also find information about the system functions in the SIMOTION Cam
Technology Package parameters manual.
Note
Local alarm responses are specified by means of the system.
T
Technological alarms
External Encoder, 415
TO Axis, 375
Technology data, 183
Technology data block, 183
Telegram types for digital drive link, 55
tfm unit of force, Axis technology object, 33
tfs unit of force, Axis technology object, 33
Time-of-day synchronization, 56
Time-related profiles, Axis technology object, 211
torque limitation
Axis, 187
Torque precontrol, 125
Travel to fixed stop, 180
U
Unit of force, Axis technology object
tfm, 33
tfs, 33
Units
Axis technology object, 33
V
Valve type
P valve, 291
PQ valve, 291
Q-valve, 291
Velocity controller
Drive axis with hydraulic functionality, 310
Velocity limiting profile, Axis technology object, 212
Velocity profile, 212
Motion control, 157
Position-related, 351
Smooth, 157
Time-related, 350
Trapezoidal, 157