Gear TechnologyFct en-US
Gear TechnologyFct en-US
Fundamental safety
instructions 1
Part I - Synchronous
Operation 2
SIMOTION Part II - Distributed
Synchronous Operation 3
Motion Control Part III - Synchronous
Technology Objects Synchronous operation across multiple 4
cycles
Operation, Cam
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.
Preface
This document is part of the System and Function Descriptions documentation package.
Scope
This manual is valid for the following versions:
● SIMOTION SCOUT V4.4,
● SIMOTION Kernel V4.4, V4.3, V4.2, V4.1, V4.0, V3.2, V3.1 or V3.0
● SIMOTION technology packages Cam, Cam_ext/Path (as of Kernel V3.2) and TControl in
the version for the respective kernel (including technology packages Gear, Position and
Basic MC up to Kernel V3.0).
SIMOTION Documentation
An overview of the SIMOTION documentation can be found in the SIMOTION Documentation
Overview document.
This documentation is included as electronic documentation in the scope of delivery of
SIMOTION SCOUT. It comprises ten documentation packages.
The following documentation packages are available for SIMOTION V4.4:
● SIMOTION Engineering System Handling
● SIMOTION System and Function Descriptions
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.................................................................................................................11
1.1 General safety instructions..........................................................................................................11
1.2 Industrial security........................................................................................................................12
2 Part I - Synchronous Operation..................................................................................................................13
2.1 Overview of synchronous operation............................................................................................13
2.2 Fundamentals of Synchronous Operation...................................................................................20
2.2.1 Gearing........................................................................................................................................20
2.2.2 Velocity gearing...........................................................................................................................26
2.2.3 Camming.....................................................................................................................................27
2.2.4 Setpoint/actual value coupling.....................................................................................................36
2.2.4.1 Actual value coupling with extrapolation.....................................................................................37
2.2.4.2 Actual value coupling with tolerance window..............................................................................40
2.2.5 Synchronization...........................................................................................................................41
2.2.5.1 Synchronization criterion.............................................................................................................43
2.2.5.2 Synchronization direction............................................................................................................47
2.2.5.3 Position of synchronization range relative to synchronization position.......................................48
2.2.5.4 Synchronization via a specifiable master value distance............................................................49
2.2.5.5 Synchronization profile................................................................................................................50
2.2.5.6 Settings for evaluation of the master value behavior during synchronization.............................55
2.2.5.7 Monitoring the synchronization....................................................................................................59
2.2.5.8 Display of the synchronous position............................................................................................61
2.2.5.9 “Synchronous” status during synchronization.............................................................................63
2.2.6 Desynchronization.......................................................................................................................64
2.2.6.1 Desynchronization - Overview.....................................................................................................64
2.2.6.2 Desynchronization criterion/desynchronization position..............................................................64
2.2.6.3 Desynchronization over a specifiable master value distance......................................................65
2.2.6.4 Desynchronization profile via specifiable dynamic response parameters...................................65
2.2.6.5 Position of synchronization range relative to desynchronization position...................................65
2.2.6.6 Replacement of an active synchronous operation......................................................................65
2.2.7 Dynamic response effect on slave values...................................................................................66
2.2.8 Switching of the master value source..........................................................................................68
2.2.8.1 Switching over the master value source – Overview...................................................................68
2.2.8.2 Master value switchover without dynamic response...................................................................69
2.2.8.3 Master value switchover with dynamic response........................................................................69
2.2.8.4 Master value switchover with next synchronization (V4.1 and higher)........................................70
2.2.9 Superimposed synchronous operation........................................................................................71
2.2.10 Synchronous operation monitoring..............................................................................................75
2.2.11 Simulation mode..........................................................................................................................78
2.2.12 Configuring units.........................................................................................................................79
2.2.13 Examples of synchronization operations as a function of the output position on the slave
value side....................................................................................................................................81
2.2.13.1 Synchronization via a specifiable master value distance............................................................81
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.
This part describes the function of the synchronous operation technology. It introduces you to
the setting and configuration functions, as well as providing information about the
supplementary conditions and the operating characteristics of synchronous objects.
Mechanical model
The mechanical model for a synchronous operation relationship is, for example, a gear with a
drive wheel and an output wheel. The model for camming could be a cam gear with a
mechanical cam and sampling mechanism. A coupling used for enabling and disabling the
following motion on-the-fly is also used as a model.
)ROORZLQJD[LV
/HDGLQJD[LV 0DVWHUYDOXH
6\QFKURQRXVRSHUDWLRQUHODWLRQVKLS
Synchronization/Desynchronization
The synchronous operation to the master value during synchronization or desynchronization
can be defined differently depending on the application.
It is determined on the basis of:
● The synchronization criterion/synchronization position
● The synchronization direction
● The position of the synchronization range relative to the synchronization position
● Synchronization profile
See the section titled Synchronization (Page 41).
Objects
A synchronous operation relationship exists between the following objects:
● At least one master object (master)
The master object is a technology object that provides motion information with a position
(the motion slave value). This can be, for example, a positioning axis or an external
encoder.
● At least one synchronized axis, comprising:
– A following axis (slave)
– One or two synchronous objects
– Possibly one or more cams
A synchronous object is automatically created as a separate object in SIMOTION SCOUT
when an axis with synchronous operation technology is created.
0DVWHU 6\QFKURQRXV
REMHFW RSHUDWLRQ
UHODWLRQVKLS
)ROORZLQJD[LV
6\QFKUR
QRXVREMHFW
)ROORZLQJ
D[LV
0DVWHU
6\QFKURQRXVRSHUDWLRQ
REMHFW
UHODWLRQVKLS
)ROORZLQJD[LV
6\QFKUR
&DP
QRXVREMHFW
)ROORZLQJ
D[LV
Master values
The master value can be specified by the following technology objects:
● Axis
● External Encoder
With restrictions (not for distributed synchronous operation or synchronous operation IPO-
IPO_2), the following technology objects can also specify the master value:
● Fixed Gear
● Addition Object
● Formula Object
BVHW0DVWHU
6\QFKUR
QRXVREMHFW
)ROORZLQJ
D[LV
A following axis can be interconnected with more than one master value by means of the
synchronous object. However, only one of these master values can be activated at any given
time. The process of switching over to a different master value is described in the section titled
Switching over the master value source (Page 68).
When axes serve as the master value source, the setpoint coupling or the actual value coupling
with extrapolation can be selected. When external encoders serve as the master value source,
actual value coupling/actual value coupling with extrapolation (V3.0 and higher) can be
selected. See the section titled Setpoint/actual value coupling (Page 36).
Note
A drive axis cannot be used as the master value source for a gearing.
Note
If you change the processing cycle clock of the synchronized axis using the configuration
screen form, the processing cycle clock of the synchronous object is changed automatically.
If you change the processing cycle clock of the synchronized axis or of the synchronous
object using the expert list, the processing cycle clock of the synchronous object or
synchronized axis is not changed.
Units
The master and slave values are coupled without physical conversion in the relevant
parameterized units. If, for example, the master axis is a linear axis and the following axis is
a rotary axis, a length unit corresponds to an angular unit (for a 1:1 conversion ratio).
Modulo behavior
Different modulo ranges on the master value object and the following axis are taken into
account on the synchronous object.
0DVWHU
REMHFW
&DP
6\QFKUR
&DP
QRXVREMHFW
BHQDEOH&DPPLQJ
)ROORZLQJ &DP
D[LV
0DVWHU 0DVWHU
REMHFW REMHFW
6\QFKUR 6\QFKUR
&DP QRXVREMHFW QRXVREMHFW &DP
)ROORZLQJ
D[LV
For additional information, see the section titled Superimposed synchronous operation
(Page 71).
See also
Synchronous Operation Configuration (Page 111)
Synchronous Operation Programming/References (Page 136)
2.2.1 Gearing
6ODYHYDOXH
0DVWHU
REMHFW
0DVWHUYDOXHSRVLWLRQ
*HDUUDWLR
2IIVHW
6HWWLQJV
6\QFKURQRXV 0DVWHUYDOXHVHOHFWLRQ
0DVWHUYDOXH
)ROORZLQJ /LPLWDWLRQWRPD[LPXPG\QDPLFD[LVUHVSRQVH
D[LV 0RQLWRULQJIXQFWLRQV
Gearing is characterized by a linear transmission function between the master value source
and the following axis/axes.
Slave value = Gear ratio x Master value + Offset
This gear ratio can be specified as the ratio of two decimal numbers (numerator/denominator)
or as a rational number. A zero point offset can be included in the calculation. Absolute or
relative gearing can be set using the gearingType parameter of the _enableGearing()
command.
Absolute gearing
With absolute gearing (gearingType=ABSOLUTE), the synchronous operation occurs
absolutely relative to the zero point of the master value and slave value, taking into account
the gear ratio.
A specified offset of the slave value is included. This offset is equal to zero, except when the
synchronization criterion ON_MASTER_AND_SLAVE_POSITION or
IMMEDIATELY_AND_SLAVE_POSITION is set in the syncPositionSlave parameter, in which
case an offset is specified.
6ODYHYDOXH
7UDQVPLVVLRQIXQFWLRQ
6\QFKURQL]D
WLRQSRVLWLRQ
6\QFKURQL]D 0DVWHU
WLRQSRVLWLRQ YDOXH
Figure 2-10 Absolute gearing without specification of the slave value position
6ODYHYDOXH
7UDQVPLVVLRQIXQFWLRQ
6\QFKURQL]DWLRQ 2IIVHW
SRVLWLRQ
6\QFKURQL]DWLRQ 0DVWHUYDOXH
SRVLWLRQ
Figure 2-11 Absolute gearing with specification of the slave value position
Position differences on the slave value side are compensated for during synchronization.
Modulo settings are taken into account.
Relative gearing
With relative gearing (gearingType:=RELATIVE), the synchronous operation occurs relative
to the synchronization position on the master value and slave value sides.
1RFRPSHQVDWLRQPRWLRQRI
IROORZLQJD[LV
(QDEOHV\QFKURQRXVRSHUDWLRQ 5HODWLYHV\QFKURQRXV
RSHUDWLRQUHODWLRQVKLSDFWLYH
● If programmed without a specified offset: The offset is derived from the current position of
the following axis at the start of synchronization and from an offset derived implicitly during
synchronization if the axis is driven to a velocity (and acceleration) derived from the gear
ratio.
● If programmed with a specified offset: Using the synchronization criterion setting
ON_MASTER_AND_SLAVE_POSITION or IMMEDIATELY_AND_SLAVE_POSITION, the
offset is determined from the current following axis position at the start of synchronization
and the offset programmed in syncPositionSlave.
6ODYHYDOXH
7UDQVPLVVLRQIXQFWLRQ
6\QFKURQL]DWLRQ
SRVLWLRQ
6\QFKURQL]DWLRQ 0DVWHUYDOXH
SRVLWLRQ
6ODYHYDOXH
7UDQVPLVVLRQIXQFWLRQ
6\QFKURQL]DWLRQ 2IIVHW
SRVLWLRQ
6\QFKURQL]DWLRQ 0DVWHUYDOXH
SRVLWLRQ
From the point at which the status becomes "synchronous", relative gearing is also in positional
synchronism. In other words, the offset remains constant in the transmission function from this
point onwards.
Gear ratio
The gear ratio is used to define the transmission function of the gearing between the master
value and slave value. The gear ratio corresponds to the slope of the transmission function. It
can entered as either a fraction or a floating-point number using the gearingMode parameter
of the _enableGearing() command.
● As a fraction (gearingMode:=GEARING_WITH_FRACTION)
The gear ratio is specified as a fraction (slave value difference/master value difference)
using the following function parameters:
– gearingRatioType: Type of gear ratio specification (directly or via replacement values)
– gearingNumerator: Value for direct specification of the gear ratio numerator
– gearingDenominator: Value for direct specification of the gear ratio denominator
● As a floating-point number (gearingMode=GEARING_WITH_RATIO)
The gear ratio is specified as a floating-point number using the following function
parameters:
– gearingRatioType: Type of gear ratio specification (directly or via replacement values)
– gearingRatio: Value for direct specification of the gear ratio as a floating-point number
Disadvantage: Gear ratios such as 1/3 ≈ 0.333 are subject to rounding errors.
The long-term effect is to be taken into account with modulo axes. If master and slave axes
are configured as modulo axes, to ensure the long-term stability of the gear, the gear ratio is
preferably to be entered as a nominator/denominator ratio. If this is not possible, a LREAL
value with corresponding decimal places should be used.
Direction of gearing
The gear ratio can be set in the same direction or in the opposite direction (corresponding to
a negative gear ratio) using the direction parameter of the _enableGearing command.
● For POSITIVE, traversal is made in the same direction as the master values, this means
that the axes run in the same direction.
● For NEGATIVE, traversal is made in the opposite to master values, this means that the
axes run in the opposite direction.
● With CURRENT, the direction of the current slave values is retained; along with the direction
of the master value; this results in coupling in the same or opposite direction, which is then
maintained for the entire command execution time (that is, if the master value direction
changes, then the slave direction changes as well).
● REVERSE means movement in the inverse direction of the slave values.
If the slave values are at a standstill at the point at which the command is activated, the
following conversion is performed: CURRENT becomes POSITIVE and REVERSE becomes
NEGATIVE.
● For the next synchronous operation and all subsequent synchronous operations if
DEFAULT_VALUE is set
● For the current synchronous operation only if ACTUAL_VALUE is set
● For the current synchronous operation and all subsequent synchronous operations if
ACTUAL_AND_DEFAULT_VALUE is set
Note the following:
● If the synchronization operation of the _enableGearing() command is not yet active, the
current offset is carried out without compensation, that is, it is figured in directly.
● If the _setGearingOffset() command is programmed to current values during
synchronization, the offset does not take effect until after synchronization. A compensating
movement takes place.
Note
With a constant master value velocity, the dynamic transitions have a similar form and
differ as a result of the dynamic response parameters that act differently.
See also
Example of applying offset as superimposition (Page 101)
0DVWHUYDOXHYHORFLW\
6HWWLQJV
)ROORZLQJD[LV /LPLWDWLRQVWRPD[LPXPG\QDPLFD[LVUHVSRQVH
0RQLWRULQJIXQFWLRQV
In contrast to gearing or camming, which relate to the position of an axis, synchronous velocity
operation (V3.1 and higher) relates to the velocity of an axis. A velocity setpoint is calculated
for the following axis. After activation, the axis travels immediately at the specified acceleration
to the synchronous operation velocity. A linear transmission function is implemented.
The gear ratio can be specified as a positive floating-point number.
The gear ratio can be set in the same direction or in the opposite direction (corresponding to
a negative gear ratio) using the direction parameter of the _enableVelocityGearing()
command.
● POSITIVE means that the axes are running in the same direction.
● NEGATIVE means that the axes are running in opposite directions.
See also
Substitution of velocity gearing with absolute synchronous operation (Page 106)
2.2.3 Camming
Description
6ODYHYDOXH
0DVWHU
&DP
REMHFW
0DVWHUYDOXH
SRVLWLRQ
6HWWLQJV
6\QFKURQRXV 0DVWHUYDOXHVHOHFWLRQ
0DVWHUYDOXH
)ROORZLQJ /LPLWDWLRQWRPD[LPXPG\QDPLFD[LVUHVSRQVH
D[LV 0RQLWRULQJIXQFWLRQV
With camming, a non-linear transmission function between the master value position and
following axis position is implemented using a cam .
See Cam, Definition (Page 227)
6ODYHYDOXH
&DP
\ I[
[
0DVWHUYDOXH
The cam can be applied as an absolute cam or as a relative cam in both the definition range
(master values) and the value range (slave values). The setting is made for the master values
in the masterMode parameter and for the slave values in the slaveMode parameter of the
_enableCamming() command.
The figure below compares the relationship between the master value and slave value with
the following supplementary conditions:
6WDUWVODYHYDOXH
6WDUWPDVWHUYDOXH
$EVROXWHFDPPLQJRQWKHPDVWHUYDOXHVLGHDQGUHODWLYHFDPPLQJRQWKHVODYHYDOXHVLGH
5HODWLYHFDPPLQJRQWKHPDVWHUYDOXHVLGHDQGUHODWLYHFDPPLQJRQWKHVODYHYDOXHVLGH
$EVROXWHFDPPLQJRQWKHPDVWHUYDOXHVLGHDQGDEVROXWHFDPPLQJRQWKHVODYHYDOXHVLGH
5HODWLYHFDPPLQJRQWKHPDVWHUYDOXHVLGHDQGDEVROXWHFDPPLQJRQWKHVODYHYDOXHVLGH
Figure 2-18 Possible combinations of absolute/relative camming on the master/slave value side
● If programming is performed without a specified offset, the offset is determined from the
offset of the cam initial value to the slave value position at the start of synchronization
● If programming is performed with a specified offset in the synchronization criterion setting
ON_MASTER_AND_SLAVE_POSITION or IMMEDIATELY_AND_SLAVE_POSITION, the
offset is determined from the offset of the cam initial value to the slave value position at the
start of synchronization plus the offset programmed in the syncPositionSlave parameter.
From the point at which the status becomes "synchronous", the offset on the slave value side
remains constant in the transmission function.
In V4.2 and higher, there is new configuration data element
syncingMotion.camReferenceBySlaveModeRelative with the following settings:
● Effectiveness in the case of relative camming on the slave value side and
– on the absolute master value side with and without master value offset or
– relative master value side with master value offset
● BEGIN_OF_CAM is based on the current following axis position to the initial cam value.
During the synchronization, the following axis also covers the path differential between the
start of the cam and the cam start value if this is not offset by a following value offset.
>PP@
1
2IIVHW
6WDUWVODYHYDOXH
6WDUWVODYHYDOXH
1
● In projects upgraded from < V4.2 to >= V4.2, the configuration data is set to
COMPATIBILITY_MODE. This corresponds to
SYNCPOSITION_AT_START_OF_CAMMING for synchronization at a standstill and
BEGIN_OF_CAM with moving following axis or moving master value.
● When creating a new project as of V4.2,
syncingMotion.camReferenceBySlaveModeRelative:=BEGIN_OF_CAM is set.
6ODYHYDOXH
&DP
0DVWHUYDOXH
● Non-cyclic (NOCYCLIC) means that the cam is applied exactly once in the defined master
value range. When the end point or starting point of the cam is reached, the cam terminates
itself.
If the master value range is run through again either in the same direction or, after reversing,
in the opposite direction, the cam is not applied again.
6ODYHYDOXH
&DP
0DVWHUYDOXH
● With the cyclic (CYCLIC) application of a cam, the definition range of the cam is mapped
cyclically onto the master values.
If the master values reverse, the cam is also continued cyclically beyond the original starting
point.
Cyclic application of a cam with absolute synchronous operation on the slave value side
6ODYHYDOXH
&DP
0DVWHUYDOXH
Figure 2-21 Cyclic absolute cam application with equal initial and end values on the slave value side
● If the function values of the cam are equal at the start and end of the definition range of the
cam, the motion can be continued smoothly.
This produces a periodic motion.
6ODYHYDOXH
Figure 2-22 Cyclic absolute cam application with unequal start and end values on the slave value
side
● If the function values of the cam are not equal at the start and end of its definition range,
this results in a discontinuity in the position.
This is limited on the following axis to the maximum dynamic values.
6ODYHYDOXH
&DP
0DVWHUYDOXH
Figure 2-23 Example of cyclic cam application with identical start and end values
● If the function value of the cam is not identical, or equal in terms of a modulo relationship,
at the start and end of its definition range, the new starting point of the cam is the end point
of the executed cam.
6ODYHYDOXH
&DP
0DVWHUYDOXH
Figure 2-24 Example of cyclic cam application with different start and end values - relative
Cam direction
The direction parameter of the _enableCamming command can be used to set the cam in a
positive or negative direction.
● POSITIVE means in the same direction. Increasing master values correspond to increasing
values in the definition range of the cam, and vice versa.
6ODYHYDOXH
&DP
0DVWHUYDOXH
&DP
0DVWHUYDOXH
Example application:
The aim is to use the same cam for deceleration as for acceleration, but in the opposite
direction.
0DVWHUYDOXH2IIVHWPDVWHUYDOXH
6ODYHYDOXH 6FDOLQJVODYHYDOXH2IIVHWVODYHYDOXH
6FDOLQJPDVWHUYDOXH
See also Example of offset and scaling on the synchronous object (Page 98)
Examples
6ODYHYDOXH
&DP
0DVWHUYDOXH
1HZBHQDEOH&DPPLQJLVDFWLYH
,VVXHBVHW&DPPLQJ6FDOHFRPPDQG
Figure 2-28 Example of switchover from scaling during cyclic synchronous operation; setting:
activationMode:=DEFAULT_VALUE; effective: scaleSpecification:=NEXT_CAM_CYCLE
6ODYHYDOXH
&DP
0DVWHUYDOXH
1HZBHQDEOH&DPPLQJLVDFWLYH
,VVXHBVHW&DPPLQJ6FDOHFRPPDQG
Figure 2-29 Example of switchover from scaling during cyclic synchronous operation; setting:
activationMode:=ACTUAL_VALUE; effective: scaleSpecification:=IMMEDIATELY
6ODYHYDOXH
&DP
0DVWHUYDOXH
1HZBHQDEOH&DPPLQJLVDFWLYH
,VVXHBVHW&DPPLQJ6FDOHFRPPDQG
Figure 2-30 Example of switchover of scaling and offset during cyclic synchronous operation,
ACTUAL_AND_DEFAULT_VALUE setting with effectiveness IMMEDIATELY
See also
Display of the synchronous position (Page 61)
Overview
When an axis is used as a master value object, the following can be configured for the
synchronous operation:
● Setpoint coupling: The setpoint of the axis is used as the master value for the following axis.
This is advantageous if the control specifies the setpoints for both the master axis and
following axis, and the axes are to behave synchronously in relation to one another. In
general, setpoint coupling is recommended for purposes of signal quality.
● Actual value coupling with extrapolation (V3.0 and higher): The actual value of an axis is
used as the master value for the following axis.
The actual value can be extrapolated in order to compensate for delays caused by actual
value acquisition, actual/master value processing in the control, and the dynamic follow-up
response of the following axis. Since the actual values are equal to the setpoints for the
virtual axis, an extrapolated setpoint can be set.
When an external encoder is used as a master value object, the following can be configured
for the synchronous operation:
● Actual value coupling: The actual value of an external encoder is used as the master value
for the following axis.
● Actual value coupling with extrapolation (V3.0 and higher): The actual value can be
extrapolated in order to compensate for delay times caused by actual value acquisition,
actual/master value processing in the control, and the dynamic follow-up response of the
following axis.
A tolerance window with respect to the actual value behavior can be specified for the actual
value coupling.
Note
If the actual values/setpoints are required to be equal during a synchronous operation, the
same Ti (actual value acquisition)/To (setpoint acceptance) times must be adopted for all
drive units used (e.g. SINAMICS_Integrated, CU320).
See also
Actual value coupling with tolerance window (Page 40)
DFW
0DVWHU 6\QFKUR 6\QFKUR /LPLWDWLRQV
)LOWHUV ([WUDSROD YDOXH 2XWSXW
QL]DWLRQ QRXV
DFW WLRQ VZLWFKRYHU GHV\QFKUR RSHUDWLRQ
ZLWK QL]DWLRQ UXOH
G\QDPLFV ZLWK
G\QDPLFV
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 for using an
extrapolation.
Extrapolation means you know the history and are looking into the future (extrapolation time).
The extrapolation time should be as short as possible for dynamic master value changes. An
IPO : Servo pulse duty factor of 1:1 is good.
If an actual encoder value is assumed as the master value, it is useful to extrapolate the
measured actual value for the synchronous operation in order to compensate for dead times
that result within the system when acquiring actual values, e.g. due to bus communication and
system processing times.
The extrapolation is set on the leading axis or on the external encoder.
Noisy sensor signals result in large velocity jumps which affect the extrapolation. These can
be reduced or compensated for using appropriate filter settings
$[LV72DQG
$FWXDOYDOXHFRXSOLQJZLWKRXWH[WUDSRODWLRQ $FWXDOYDOXHFRXSOLQJZLWKH[WUDSRODWLRQ
([WHUQDO(QFRGHU72
$[LV72([WHUQDO(QFRGHU72
6\QFKURQRXVREMHFW
&ORVHGORRSFRQWUROF\FOH ,32RU,32BF\FOHFORFN
,32RU,32BF\FOHFORFN
FORFN 7\SH2I$[LV([WUDSRODWLRQ ([WUDSRODWLRQ7LPH!
([WUDSRODWLRQ7LPH ([WUDSRODWLRQ7LPH 69
69H[WUDSRODWLRQ FXUUHQW0DVWHU'DWD 6\Q
69H[WUDSRODWLRQ'DWD ([WUDSROD 'DWDSRVLWLRQ YDOXH FKUR
ILOWHUHG3RVLWLRQ
WLRQZLWK ∆[ QRXV
SODXVLELOLW\ aGHULYHG9DOXH RSHUD
77 aYHORFLW\
FKHFN aDFFHOHUDWLRQ WLRQ
∆Y aVHFRQG'HULYHG9DOXH IXQFWLRQ
)LOWHU
77
7\SH2I$[LV 7\SH2I$[LV &DQRQO\EHFRQILJXUHG
([WUDSRODWLRQ ([WUDSRODWLRQ
7\SH2I$[LV IRU([WHUQDO(QFRGHU72
)LOWHU 7\SH2I$[LV ([WUDSRODWLRQ H[WUDSRODWHG
7ROHUDQFH5DQJH 9HORFLW\6ZLWFK
69H[WUDSRODWLRQ'DWD ([WUDSRODWLRQ
3RVLWLRQ)LOWHU
)LOWHU +\VWHUHVLVQRWDFWLYH 6\QFKURQRXVREMHFW
$FWLYH [ ILOWHUHG9HORFLW\ !+\VWHUHVLVDFWLYH
DFWXDO ,32RU,32BF\FOHFORFN
YDOXH
69
V\VWHP 69
6\Q
$[LV SRVLWLRQLQJ6WDWHDFWXDO3RVLWLRQ FXUUHQW0DVWHU'DWD
([WHQFRGHU PRWLRQ6WDWHSRVLWLRQ YDOXH FKUR
$[LV PRWLRQ6WDWH'DWDDFWXDO9HORFLW\ QRXV
Y ([WHQFRGHU PRWLRQ6WDWHYHORFLW\ aGHULYHG9DOXH RSHUD
)LOWHU WLRQ
$[LV PRWLRQ6WDWH'DWDDFWXDO$FFHOHUDWLRQ
∆Y ([WHQFRGHU PRWLRQ6WDWHDFFHOHUDWLRQ aVHFRQG'HULYHG9DOXH IXQFWLRQ
7\SH2I$[LV
6PRRWKLQJ)LOWHU 77
696\VWHPYDULDEOH
Figure 2-32 Actual value coupling with extrapolation for the Axis TO or External Encoder TO
You can find an overview of the actual value coupling with and without extrapolation in the axis
configuration in the SCOUT signal flow dialog (project navigator, select Axis TO > Signal flow
> Extrapolation).
Note
Extreme care must be taken when changing the extrapolation time to the runtime; otherwise
knocking could result in the machine.
Note
SIMOTION contains utilities & applications which are included in the scope of delivery of
SIMOTION SCOUT, a tool to assist in calculating the extrapolation times.
Switch for the velocity master value during master value extrapolation
The TypeofAxis.Extrapolation.extrapolatedVelocitySwitch configuration data element can be
used to generate the velocity master value from the extrapolated position master value using
differentiation; alternatively, the extrapolated velocity master value for the synchronous
operation can be used.
Display
The extrapolated and filtered values are indicated in the following system variables:
● sensorData[n].position
● sensorData[n].velocity
● sensorData[n].acceleration
The system variables for sensorData are calculated in the position control cycle clock.
The actual axis value that is active for closed-loop control, the IPO cycle, 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.
These actual values are the reference for the output cam calculation in the IPO cycle, for the
actual value connection with external encoders without extrapolation, for the actual value
reference in the IPO cycle,
e.g. for profiles relating to actual position.
Transferring the actual velocity from the drive (V4.2 and higher)
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
typeofAxis.numberOfEncoders.encoder_n.sensorNist.logAddress, and the reference value is
set in typeofAxis.numberOfEncoders.encoder_n.sensorNist.referenceValue. With encoders
with nact evaluation, the speed determined by the encoder and the resulting velocity can be
accepted by the encoder. In this case, the actual position of the sensor does not need to be
differentiated to derive the actual velocity. Two methods of transmission are available:
● Transmission in the PROFIdrive message frame
● Transmission in the I/O area
See also section Actual value acquisition / Actual value system in the Manual TO Axis electric/
hydraulic, External Encoder.
2.2.5 Synchronization
In order for the following axis to follow the master value according to the transmission function,
the following axis must first be synchronized to the master value.
The type of synchronization is determined from several assignable parameters/settings:
● The synchronization criterion/synchronization position, which corresponds to the setting
specified in the synchronizingMode parameter; the synchronization position on the master
value side and/or the synchronization position on the slave value side are directly specified
here or are derived from the synchronization criterion and, if necessary, the transmission
function
● The synchronization direction, the motion direction of the slave values during
synchronization; can be set in the synchronizingDirection parameter
● Position of synchronization range relative to synchronization position: Leading, trailing, or
symmetrical synchronization; can be set in the syncPositionReference parameter
● the reference of the synchronization profile; can be set in the syncProfileReference
– Synchronization over a specifiable master value distance
The synchronization length over the master value is specified in the synchronization
command.
– Synchronization profile via specifiable dynamic response parameters (time reference)
The dynamic response parameters are specified in the synchronization command.
3RVLWLRQ 6ODYHYDOXH
0DVWHUYDOXH
6\QFKURQL]DWLRQSURILOH
YLDDVSHFLILDEOHPDVWHU
YDOXH
YLDVSHFLILDEOHG\QDPLF
UHVSRQVHSDUDPHWHUV
6\QFKURQL]DWLRQ 7LPHU
UDQJH
6\QFKURQL]DWLRQFULWHULRQ
PDVWHUYDOXHSRVLWLRQDQGRUIROORZLQJD[LVSRVLWLRQ
Synchronization on current master value position without specification of an offset on the slave value
side
The current master value position is the synchronization criterion and the synchronization
position on the master value side. The synchronization criterion is set with
synchronizingMode:=IMMEDIATELY. The syncPositionMaster parameter is not active. An
offset on the slave value side is not specified, and the syncPositionSlave parameter is not
active. With relative camming on the master value side, the camStartPosition parameter is
6ODYHYDOXH
$[HVDUH
V\QFKURQRXV 0DVWHUYDOXH
6WDUWFRPPDQG
6WDUWV\QFKURQL]DWLRQ
7LPHU
Figure 2-34 Example of synchronization - immediately active, trailing synchronization, absolute without
offset, ratio 1:1
Synchronization on current master value position with specification of an offset on the slave value side
The current master value position is the synchronization criterion, and an offset on the slave
value side is specified. The synchronization criterion is set with
synchronizingMode:=IMMEDIATELY_AND_SLAVE_POSITION. The synchronization position
on the master value side is the current master value position. The syncPositionMaster
parameter is not active. The offset on the slave value side is specified in the
syncPositionSlave parameter. With relative camming on the master value side, the
camStartPosition parameter is active. Synchronization starts immediately. Synchronization
occurs subsequently. The syncPositionReference parameter is not active.
6ODYHYDOXH
$[HVDUH
V\QFKURQRXV 0DVWHUYDOXH
6WDUWFRPPDQG
6WDUWV\QFKURQL]DWLRQ
2IIVHW
7LPHU
Figure 2-35 Example of synchronization - immediately active, trailing synchronization, absolute and
offset on following axis position, ratio 1:1
Synchronization on specified master value position without specification of an offset on the slave value
side
The specified master value position is the synchronization criterion. The synchronization
criterion is set with synchronizingMode:=ON_MASTER_POSITION. The synchronization
position on the master value side is set in the syncPositionMaster parameter. An offset on the
slave value side is not specified, and the syncPositionSlave parameter is not active. With
relative camming on the master value side, the camStartPosition parameter is active. The
syncPositionReference parameter specifies whether to activate leading, symmetrical (only for
synchronization via a specifiable master value distance), or trailing synchronization.
Regarding the start of synchronization, see Position of synchronization range relative to
synchronization position (Page 48).
6ODYHYDOXH
$[HVDUH
6WDUWFRPPDQG V\QFKURQRXV 0DVWHUYDOXH
6WDUW
V\QFKURQL]DWLRQ
2IIVHW
V\QF3RVLWLRQ0DVWHU
0DVWHUYDOXHSRVLWLRQ
7LPHU
Figure 2-36 Example of synchronization - specification of master value synchronization position, trailing
synchronization, absolute, ratio 1:1
Synchronization on specified master value position with specification of an offset on the slave value side
The specified master value position is the synchronization criterion. The synchronization
criterion is set with synchronizingMode:=ON_MASTER_AND_SLAVE_POSITION. The
synchronization position on the master value side is set in the syncPositionMaster parameter.
With relative camming on the master value side, the camStartPosition parameter is active. The
offset on the slave value side is specified in the syncPositionSlave parameter. The
syncPositionReference parameter specifies whether to activate leading, symmetrical (only for
synchronization via a specifiable master value distance), or trailing synchronization.
Regarding the start of synchronization, see Position of synchronization range relative to
synchronization position (Page 48).
6ODYHYDOXH
$[HVDUH
V\QFKURQRXV
6WDUWFRPPDQG 0DVWHUYDOXH
6WDUW
V\QFKURQL]DWLRQ
2IIVHW
V\QF3RVLWLRQ0DVWHU
0DVWHUYDOXHSRVLWLRQ
7LPHU
Figure 2-37 Example of synchronization - specification of master value synchronization position and
following axis offset, trailing synchronization, absolute, ratio 1:1
6ODYHYDOXH
$[HVDUH
6WDUWFRPPDQG V\QFKURQRXV
6WDUW
6\QFKURQL]DWLRQ 0DVWHU
YDOXH
V\QF3RVLWLRQ6ODYH
6ODYHYDOXHVLGH
6\QFKURQL]DWLRQ
SRVLWLRQ
7LPHU
Synchronization length
The synchronization operation takes place as long as the master value is within this defined
length. No dynamic response values are taken into account. The profile is calculated as a
function of the master value velocity. (See Synchronization profile type)
The synchronization range is specified using the synchronization length of the master value
defined in the syncLength parameter of the _enableGearing() or _enableCamming()
commands.
3RVLWLRQ
6ODYHYDOXH
6\QFKURQRXVSRVLWLRQ
0DVWHUYDOXH
6\QFKURQL]DWLRQOHQJWK
V\QF/HQJWK
6\QFKURQL]DWLRQ 7LPHU
UDQJH
Figure 2-39 Synchronization length for synchronization via a specifiable master value distance
The "synchronous" status is set immediately if the master value source and following axis are
at a standstill and the synchronization criterion has already been fulfilled. In this case, the
message "50006 Activation/deactivation of synchronous operation executed directly" is
output.
Application
A synchronization profile based on dynamic response parameters is especially suited for:
● Time-optimized synchronization, according to dynamic response specifications
Adaptation to the dynamic response of the master value (leading and trailing synchronization)
If the current dynamic response variables of the master value are larger than the dynamic
response parameters of the synchronization command, the parameters can be automatically
adapted to the dynamic response parameters. (V3.1 and higher)
Parameters for adapting the synchronization dynamic response to the target dynamic response
can be assigned on the synchronous object under Settings (syncingMotion.synchronizing-
Adaption).
If dynamic response adaptation is disabled, the synchronization dynamic response is no longer
adapted to the required target dynamic response. This can lead to the situation where during
trailing synchronization, the synchronized axis can no longer synchronize with the leading axis.
During leading synchronization, the synchronization motion may not be started under certain
circumstances.
Overdrive factor
The permissible magnification of the specified dynamic response values for making up a
constant path difference is specified using the magnification factor
(syncingMotion.overdriveFactor) under Settings. The magnification factor relates to the
dynamic response of the master value. At 100% magnification, the dynamic response of the
synchronization is adapted to the current dynamic response of the master value, taking into
account the transmission. When overDriveFactor > 100% is set and has taken effect, the
"synchronous" status can also be established if the master value is in the acceleration or
deceleration phase during synchronization.
If an overshoot occurs, alarm 40012 "Dynamic limitations (type: ...) are violated" is output at
the synchronous object.
Application
If a low synchronization velocity is selected on the command, the adaptation is set, and a
corresponding overshoot factor is selected, the synchronization velocity of the following axis
is adapted to the master value velocity.
6\QFKURQL]DWLRQSRVLWLRQ
)ROORZLQJD[LV
6\QFKURQRXVSRVLWLRQ
/HDGLQJD[LV
7LPHU 7LPHU
6\QFKURQL]HEHIRUHSRVLWLRQ
OHDGLQJ
Figure 2-40 Example of leading synchronization (gearing with 2:1 gear ratio, synchronize following axis
from standstill)
Start of synchronization
The synchronization operation starts:
● At the time calculated by the system from which the specified dynamic response parameters
can be optimally synchronized with respect to time at a constant master value velocity
● Immediately, if it is not possible to calculate an optimum synchronization time and the
synchronization position can be reached (with static master value, for example)
Application
Leading synchronization is appropriate in the following cases:
● If there is to be synchronism at the specified synchronous position and the synchronous
position can be easily specified from the application, taking into account the required
synchronization operation.
● If dynamic response changes for the master value can be expected during synchronization
and are taken into account in the synchronization profile but are not to be reinforced through
extrapolation.
Comments
● The programmed velocity profile (SMOOTH, TRAPEZOID) is applied.
● The syncingMotion.smoothAbsoluteSynchronization configuration data element is not
relevant for leading synchronization.
● Synchronization with extended look-ahead is not active with leading synchronization.
● With leading synchronization, the current master value velocity, and the resulting
synchronization profile, if there is insufficient time for synchronization before the master
value reaches the synchronization position, synchronization does not take place. The status
can be read out via system variables.
Exception: Modulo master value; in this case, the next possible synchronization position is
awaited.
)ROORZLQJD[LV
6\QFKURQL]DWLRQSRVLWLRQ
/HDGLQJD[LV
7LPHU 7LPHU
6\QFKURQL]HVWDUWLQJIURP
SRVLWLRQWUDLOLQJ
Figure 2-41 Example of trailing synchronization (gearing with 2:1 gear ratio, synchronize following axis
from standstill)
With trailing synchronization, the synchronization operation starts when the synchronization
criterion is reached. Taking into account the current master value velocity and the specified
dynamic response values, the system calculates and executes a time-related synchronization
profile such that synchronization is achieved as fast as possible. When calculating the
synchronization profile, the current master value acceleration is only taken into account in
cases where extended look-ahead is specified.
Changes of the master value for the synchronization are directly taken into account.
Application
Trailing synchronization is appropriate in the following cases:
● When the current master value position must be used directly as the synchronization
position.
● When no dynamic response changes of the master value during synchronization are
expected.
● When other reasons dictate that synchronization can take place only after the
synchronization position.
Depending on the position of the slave value at the synchronous position, large dynamic
movements of the slave value may occur since, in order to comply with the dynamic limits
and taking into account the master value dynamic response, the following must occur:
– Synchronism must be achieved
– If there are dynamic response changes to the master value, the (anticipated) position
changes to the master value must be made up for.
Comments
Trailing synchronization is not suitable for non-constant velocity and acceleration of the master
value (i.e. if the acceleration/deceleration changes continually).
Smooth synchronization
Absolute trailing synchronization with consideration of jerk
The syncingMotion.smoothAbsoluteSynchronization configuration data element can be used
to specify whether a smooth velocity profile is supported during the succeeding synchronization
(V3.2 and higher).
Synchronization is not calculated subject to changes in the master value velocity.
● Provision for jerk during absolute synchronization can be made by setting
syncingMotion.smoothAbsoluteSynchronization:= YES .
● A setting of NO (default) means that jerk will not be taken into account during absolute
synchronization, even with velocity profile SMOOTH.
See also
Position of synchronization range relative to synchronization position (Page 48)
2.2.5.6 Settings for evaluation of the master value behavior during synchronization
The master value tolerance continuously acts on the active or soon-to-be active master value
(see master value switching), beginning with activation of the master value and the hysteresis.
Note
When a master value tolerance > 0 is specified, the system is permitted to immediately offset
the following axis change corresponding to one of these master value variables, with
maximum dynamics on the following axis, e.g. during use in connection with time-related
synchronization. During this process, the current effective coupling factor must also be taken
into account.
The variable of the master value tolerance should therefore be selected at as low a level as
possible and should be immediately oriented toward the measured fluctuations of the actual
value or the extrapolation error.
The effective hysteresis, and thus also an existing reversal point, can be reset by setting the
master value tolerance to the value 0. The change, in the same way as setting the tolerance
to a value greater than 0, immediately becomes active.
([DPSOHRIVZLWFKRYHULQWKHK\VWHUHVLV
Hysteresis on
change of direction of master
value
3RVLWLRQ
0DVWHUYDOXH
6ODYHYDOXH
7LPHU
9HORFLW\ 6SHFLILDEOHIROORZLQJ
D[LVYHORFLW\
V\QFLQJ0RWLRQ
PD[LPXP2I0DVWHU&KDQJH
$FWXDOIROORZLQJD[LV
YHORFLW\
0DVWHUYDOXH
6ODYHYDOXH
7LPHU
The values of customizable dynamic parameters for synchronization profiles are initially
reduced by the values defined in the syncingMotion.maximumOfMasterChange configuration
data element. The following axis is then accelerated at reduced acceleration to the reduced
velocity, in order to maintain reserves and to terminate synchronization safely at the specified
synchronization position.
If the master value velocity changes, then the same changes are made to the dynamic
response values of the synchronization procedure. Error message "50009 Changing the
dynamic response of the master leads to a dynamic violation when synchronizing/
desynchronizing" is issued if the parameterized tolerance is exceeded.
If the direction of the master value reverses during synchronization, the synchronization
procedure is aborted with the "50007 Error occurred while activating/deactivating the
synchronous operation" error. This does not apply for immediate synchronization or
synchronization starting at a defined reference point when
syncProfileReference:=RELATE_SYNC_PROFILE_TO_TIME with
synchronizingMode:=IMMEDIATELY or
syncProfileReference:=RELATE_SYNC_PROFILE_TO_TIME with
synchronizingMode:=SYNCHRONIZE_WHEN_POSITION_REACHED.
With trailing synchronization, the syncingMotion.maximumOfMasterChange configuration data
element is not active, i.e. responses are issued continuously.
3RVLWLRQ
6\QFKURQRXVREMHFW!
FXUUHQW6\QF3RVLWLRQVODYH
6\QFKURQRXVREMHFW!
FXUUHQW6\QF3RVLWLRQPDVWHU
0DVWHUYDOXH
6ODYHYDOXH
7LPHU
6WDUWRIWKHV\QFKURQL]DWLRQ 6\QFKURQL]DWLRQSRVLWLRQ
6\QFKURQRXVREMHFW!VWDWH *($5,1* 6\QFKURQRXVREMHFW!VWDWH *($5,1*
6\QFKURQRXVREMHFW!V\QF6WDWH 12 6\QFKURQRXVREMHFW!V\QF6WDWH <(6
)ROORZLQJD[LV!V\QF0RQLWRULQJV\QF6WDWH 12 )ROORZLQJD[LV!V\QF0RQLWRULQJV\QF6WDWH <(6
)ROORZLQJD[LV!V\QF0RQLWRULQJIROORZLQJ0RWLRQ6WDWH )ROORZLQJD[LV!V\QF0RQLWRULQJIROORZLQJ0RWLRQ6WDWH
%$6,&B027,21B$&7,9( %$6,&B027,21B$&7,9(
● The state of the synchronization can be queried using the synchronizingState system
variable on the synchronous object (as of V3.2).
– WAITING_FOR_SYNC_POSITION: Waiting for master value synchronization position
– WAITING_FOR_CHANGE_OF_MASTER_DIRECTION: Waiting for master value
direction reversal
– SYNCHRONIZING_NOT_POSSIBLE: Synchronization is not possible
– SYNCHRONIZING: Synchronization in progress
– INACTIVE: Synchronization phase is not active
– WAITING_FOR_MERGE: Synchronization command issued, but not yet active
● The execution state of the active command for activation/deactivation is described in the
enableCommand and disableCommand system variables.
– INACTIVE means that no command is configured.
– WAITING_FOR_START means that the command is executed during slave value
generation, and that it is waiting for the start criterion for synchronization to be reached.
– ACTIVE means that synchronization is active and that the operation is synchronous.
– If there are two commands during slave value generation, both system variables can
assume a value not equal to INACTIVE. If both are enable commands, the state of the
current command is displayed (the state of the next command is always
WAITING_FOR_START).
● The relevant active command parameter and the parameter for synchronization are
grouped together and can be read out in the effectiveData system variable structure.
FDP6ODYH0DWFK3RVLWLRQ
0DVWHUYDOXHSRVLWLRQ
FDP0DVWHU0DWFK3RVLWLRQ
GLVWDQFH&DP0DVWHU0DWFK3RVLWLRQ
Figure 2-45 Display of the master value and slave value positions in the currentSyncPosition
system variable
360°
1 2 3 4
7LPHU
6ODYHYDOXHSRVLWLRQ
360°
3
VODYH3RVLWLRQ$W0DVWHU
0RGXOR6WDUW 2
4, 1
7LPHU
Application
For known gear ratio and known modulo lengths, the assignment of master value and slave
value can be closed, even when the slave value modulo length does not correspond to the
master value modulo length.
2.2.6 Desynchronization
● For an active camming, the following axis travels only in the negative direction.
● A _enableCamming() command with synchronizingDirection:=POSITIVE_DIRECTION is
issued at the end of the cam cycle (or the criterion, for example, the specified master
distance ensures this).
In this case, the first active camming is not ended: the system waits until the following axis
travels in the positive direction, which, because of the active synchronous operation, never
occurs. To prevent the described behavior, change the synchronization criterion appropriately
or end the active synchronous operation first (using a _disable command) and then activate
the new synchronous operation.
Substituting motions
A motion that is in an acceleration or deceleration phase is replaced by a motion with jerk
limitation (smooth). Correspondingly long times can result from the reduced jerk until the
current acceleration is reduced.
For an actual value coupling, the result is essentially a noisy signal, depending on the encoder
quality. In the case of substitution with jerk limiting (smooth), the slave movement is continued
relative to this noise-prone signal (acceleration). The system interprets the signal as if the
default value is in an acceleration or braking phase and reduces it via the jerk limitation.
Via the optional abortAcceleration parameter, the functions _stop and _stopEmergency can
be set, so that a potential acceleration does not exceed the jerk limitation but is immediately
terminated.
0DVWHUYDOXH
&DP
0DVWHU *HDUUDWLR
REMHFW 7UDQVPLVVLRQ
IXQFWLRQ
)ROORZLQJ
)ROORZLQJREMHFW
D[LV
'\QDPLFUHVSRQVHRIWKHPDVWHUYDOXH
Legend:
1. The dynamic response of the master value is determined by the motion.
2. The dynamic response of the master value switchover can be specified using the
_setMaster() command.
is enabled, the master values are referenced to the units system of the current master value
source. A relative or absolute coupling influences the transition process.
The master value transition can be set with and without dynamic response using the
transientBehavior parameter of the _setMaster command (V3.2 and higher):
● DIRECT: Without dynamic response (default)
● WITH_DYNAMICS: With dynamic response
● WITH_NEXT_SYNCHRONIZING: With next synchronization (as of V4.1)
See also
Master value switchover without dynamic response (Page 69)
Master value switchover with dynamic response (Page 69)
Master value switchover with next synchronization (V4.1 and higher) (Page 70)
Note
If the _setMaster command switches over the master value, the output of the synchronous
object remains asynchronous to the new master value during the transition. The system
variables for the synchronization remain unaffected. The transition behavior of the master
value does not have any effect on the active gearing/camming.
Please note that a master value switchover does not constitute a new synchronization
procedure, i.e. the syncState system variable (on the synchronous object) indicates YES.
7UDQVPLVVLRQIXQFWLRQ
6FDOLQJRIIVHW
&DOFXODWLRQRIV\QFKURQL]DWLRQDQG
GHV\QFKURQL]DWLRQFRUUHFWLRQV
0DVWHUYDOXHV
BVHW0DVWHU
&DOFXODWLRQRIWKH )ROORZLQJREMHFW
WUDQVLWLRQEHKDYLRU
G\QDPLFUHVSRQVH
0DVWHUYDOXH 6ODYHYDOXH
&XUUHQW0DVWHU'DWD &XUUHQW6ODYH'DWD
Figure 2-48 Transition behavior and master value for the master value switching with dynamic response
The transition behavior for the new master value is calculated separately from the
synchronization and desynchronization, and until the end of the compensation is used as
master value for the setpoint monitoring and the evaluation of the syncState,
synchronizingState synchronization status.
The comparison of this value with the output value of the synchronous object sets the
syncState and synchronizingState variables: syncState=YES and
synchronizingState=INACTIVE. Despite the switching, the differenceCommandValue setpoint
difference is zero.
2.2.8.4 Master value switchover with next synchronization (V4.1 and higher)
The master value switchover is active together with the next _enableCamming()/
_enableGearing() synchronization command, whereby all specifications refer to the new
master value. The dynamic response values in the setMaster() command are not active
because the dynamic response values of the synchronization command are active during
synchronization.
System variable stateSetMasterCommand indicates the current status. Parameter
transientBehaviour sets the master value switchover:
● Master value switchover: is not active: system variable stateSetMasterCommand =
INACTIVE , parameter transientBehaviour = INACTIVE
● Master value switchover is active, switchover occurs directly: system variable
stateSetMasterCommand = TRANSIENT_BAHAVIOR_DIRECT, parameter
transientBehaviour = DIRECT
● Master value switchover is active, switchover occurs with dynamic response values: system
variable stateSetMasterCommand = TRANSIENT_BAHAVIOR_WITH_DYNAMICS ,
parameter transientBehaviour = WITH_DYNAMICS
● Master value switchover is active; switchover occurs with next synchronization: system
variable stateSetMasterCommand = TRANSIENT_BAHAVIOR_WITH_NEXT_SYNC,
parameter transientBehaviour = WITH_NEXT_SYNCRONIZING)
02 02
02 02
62 62
& &
& &
)$
020DVWHUREMHFW
62%DVLFV\QFKURQRXVREMHFW
626XSHULPSRVHGV\QFKURQRXVREMHFW
.6&DP
)$)ROORZLQJD[LV
To differentiate from the simple synchronous operation, the first synchronous operation is
called a basic synchronous operation and the second is called a superimposing synchronous
operation. The synchronous objects are called accordingly basic synchronous object and
superimposing synchronous object.
The synchronous operation can be set on the synchronous object to act as the basic motion,
main motion (has the same effect as non-superimposed synchronous operation), or
superimposed (or secondary) motion (syncingMotion.motionImpact:=STANDARD/
SUPERIMPOSED_MOTION configuration data element).
A maximum of one basic synchronous object can be interconnected to an axis, plus one
superimposed synchronous object on the same axis.
The configuration and settings for superimposed synchronous operation are made in the same
way as for the basic synchronous object.
Programming
All functions of the basic synchronous object (e.g. _enableGearing, _disableGearing, etc.) can
be applied on the superimposed synchronous object. Cross-references between synchronous
objects are not possible.
Coordinates
For the basic synchronous object, the synchronization parameters specified for the slave value
position refer to:
● The total coordinate system with mergeMode:=IMMEDIATELY and
decodingConfig.transferSuperimposedPosition <> TRANSFER_RESET
● the basic coordinate system in all other cases
The superimposed synchronous object refers to the superimposed coordinates where slave
value position specifications have been given.
Just as with a superimposed motion, each synchronous object has its own coordinate system.
The "outputs" of the synchronous objects are added in the Slave Axis technology object. If,
for example, the basic synchronous operation and superimposed synchronous operation have
the same master value, and motion takes place in absolute gearing with a ratio of 1:1, the
position value of the following axis will be twice that of the master axis after both synchronous
objects have been synchronized.
Monitoring
The output values of a synchronous object (and thus also the motion component of the
superimposed synchronous operation for the axis) can be read out in the currentSlaveData
system variable on the synchronous object.
Table 2-1 Table of coordinates on the slave axis for the superimposed synchronous operation
The syncMonitoring system variable on the following axis also displays the status of the
synchronous operation motion (V3.0 and higher):
● followingMotionState =
– INACTIVE: Synchronous motion is not active
– BASIC_MOTION_ACTIVE: Standard synchronous operation is active
– SUPERIMPOSED_MOTION_ACTIVE: Superimposed synchronous operation is active
– BASIC_AND_SUPERIMPOSED_MOTION_ACTIVE: Standard synchronous operation
and superimposed synchronous operation are active
'synchronized' status disappears for the duration of the synchronization and is not reset until
the synchronization of the second synchronous operation is complete.
The variables and monitoring on the axis refer to the total synchronous operation. Error
messages (synchronous operation errors on the synchronized axis) are issued on all
interconnected synchronous objects.
Setpoint monitoring
On the axis, the slave values calculated by the synchronous operation are limited to the
maximum dynamic response values of the axes. This can cause the setpoints on the axis to
change.
Any resulting difference between the calculated slave value of the synchronous object
(currentSlaveData) and the executable setpoint is indicated in
syncMonitoring.differenceCommandValue at the following axis.
The syncMonitoring.syncState synchronization status on the following axis is set according to
the syncState on the synchronous object.
Exception: Superimposed synchronous operation (Page 71).
The following comparison must be performed to determine whether the following axis is
synchronized on the setpoint value side:
(<Following axis>.syncMonitoring.syncState:=YES) AND
(<Following axis.syncMonitoring.differenceCommandValue = 0)
Note
With V4.2 and higher, the communication times are taken into account in the system during
synchronous operation monitoring.
Configuration
The synchronous operation monitoring is set on the following axis under Monitoring -
Synchronous operation monitoring (GearingPosTolerance configuration data element).
Limiting and monitoring the setpoint error:
● With setting enableCommandValue := NO_ACTIVATE:
– setpoints tolerance monitoring is not activated
● With setting enableCommandValue := WITHOUT_JERK:
– the tolerance monitoring of the setpoints is activated without inclusion of the jerk. Alarm
40201 is output if the setpoint tolerance is exceeded.
● With setting enableCommandValue := WITH_JERK:
– the tolerance monitoring of the setpoints is activated with inclusion of the jerk. Alarm
40201 is output if the setpoint tolerance is exceeded. The jerk on the axis is also
monitored.
Note
In the case of distributed synchronous operation with extrapolation on the following
axis, the setpoint monitoring with jerk setting is not appropriate.
In terms of dynamic limits on the following axis, see Motion Control Technology Objects Axis
Electric/Hydraulic, External Encoder Function Manual, "Dynamic limits".
Error handling
When the synchronous operation tolerance is exceeded, the following axis issues the
technological alarm "40201 Synchronous operation tolerance exceeded on the following axis".
An alarm message can also be sent to the master value source; this setting is made in the
TypeOfAxis.GearingPosTolerance.enableErrorReporting configuration data element. Here, a
distinction can be made between deviation tolerance violations of the calculated slave value
setpoint and of the calculated slave value actual axis value. The leading axis then issues the
error "40110 Error triggered on slave during synchronous operation (error number:
With V4.2 and higher, an error message is also output on the master object when the following
axis disconnects the synchronous coupling for any reason in the event of an error.
Note
If the ALL_ERRORS_WITH_ABORT_SYNCHRONIZATION parameter is set, error message
40110 is triggered on the relevant master object (e.g. also with following error on following
axis).
If the synchronous motion is interrupted by a substitutional motion, no error message is
generated.
Only following axis errors are reported to the master object. Errors on the synchronous object
occurring when issuing the command and/or synchronizing are not taken into account.
The troubleshooting can be set using the following configuration data element:
● <Following axis>.TypeOfAxis.GearingPosTolerance.enableErrorReporting
– NO_REPORTING- (default) no message, present
– COMMAND_VALUE_TOLERANCE- setpoint monitoring, present
– ACTUAL_VALUE_TOLERANCE- actual value monitoring, present
– ALL_ERRORS_WITH_ABORT_SYNCHRONIZATION- all errors that occurred
FXUUHQW6ODYH'DWDYDOXH SRVLWLRQLQJ6WDWHDFWXDO3RVLWLRQ
EDVLF0RWLRQSRVLWLRQ
)DXOWV
'\QDPLFOLPLW
6HWSRLQW
FRXSOLQJ '\QDPLF
0DVWHUYDOXH 6\QFKURQRXV &DOFXODWHG
D[LV
$FWXDO REMHFW VODYHYDOXH
UHVSRQVH $FWXDO
YDOXH YDOXH
FRXSOLQJ
6HWSRLQW
PRQLWRULQJ
6WRSOHDGLQJ
D[LV
$FWXDOYDOXH
PRQLWRULQJ
7ROHUDQFH
7ROHUDQFH
H[FHHGHG
H[FHHGHG
JHDULQJ3RV7ROHUDQFHHQDEOH&RPPDQG9DOXH
JHDULQJ3RV7ROHUDQFHHQDEOH$FWXDO9DOXH
V\QF0RQLWRULQJGLIIHUHQFH&RPPDQG9DOXH
V\QF0RQLWRULQJGLIIHUHQFH$FWXDO9DOXH
See also
Monitoring the synchronization (Page 59)
Field/Button Meaning/Instruction
Table with units
Physical variable column Shows the physical variable. The physical variables which are used by the TO are
available for the configuration.
Unit column Displays and configures the unit. Clicking on the cell opens up a combo box for selecting
the unit.
Toolbar
● Displays whether offline data or online data is shown
● Blue field = offline display
● Yellow field = online display
Close Button for closing the dialog.
Help Button for opening the online help for the dialog.
6\QFKURQRXVSRVLWLRQ
6\QFKURQL]DWLRQOHQJWK
7LPHU
9HORFLW\
7LPHU
/HJHQG
/HDGLQJD[LVZLWKFRQVWDQWYHORFLW\
6WDUWLQJSRVLWLRQRIIROORZLQJD[LVHTXDOWRV\QFKURQRXVSRVLWLRQ
6WDUWLQJSRVLWLRQRIIROORZLQJD[LVQHDUV\QFKURQRXVSRVLWLRQ
6WDUWLQJSRVLWLRQRIIROORZLQJD[LVUHPRYHGIURPWKHV\QFKURQRXVSRVLWLRQE\KDOIWKHV\QFKURQL]D
WLRQOHQJWK
6WDUWLQJSRVLWLRQRIIROORZLQJD[LVUHPRYHGIURPWKHV\QFKURQRXVSRVLWLRQE\
PRUHWKDQKDOIWKHV\QFKURQL]DWLRQOHQJWK
6WDUWLQJSRVLWLRQRIIROORZLQJD[LVUHPRYHGIURPWKHV\QFKURQRXVSRVLWLRQE\RQHV\QFKURQL]DWLRQ
OHQJWK
While the position characteristics of the individual synchronization operations do not differ very
much, the velocity characteristics differ significantly:
● In order to accelerate to the synchronous velocity in the synchronous position, a motion in
the opposite direction following by a reversal is required (2).
● It is possible to accelerate directly to the synchronous velocity and synchronous position;
the position difference to be applied is minor (3).
● The acceleration to the synchronous velocity in the synchronous position is even (4).
6WDUWLQJ
SRVLWLRQRI
IROORZLQJD[LV
6\QFKURQRXVSRVLWLRQ
7LPHU
9HORFLW\
0D[YHORFLW\DFFRUGLQJWR
G\QDPLFUHVSRQVHSDUDPHWHUV
=HURYHORFLW\FKDUDFWHULVWLF
7LPHU
/HJHQG
/HDGLQJD[LVZLWKFRQVWDQWYHORFLW\
6WDUWLQJSRVLWLRQRIIROORZLQJD[LVLVUHPRYHGVRIDUIURPWKHV\QFKURQRXVSRVLWLRQWKDWDSRVLWLRQ
GLIIHUHQFHLVDSSOLHG
6WDUWLQJSRVLWLRQRIIROORZLQJD[LVLVUHPRYHGVRIDUIURPWKHV\QFKURQRXVSRVLWLRQWKDWWKH
V\QFKURQRXVYHORFLW\LVUHDFKHGGLUHFWO\LQWKHV\QFKURQRXVSRVLWLRQDWWKHVSHFLILHGDFFHOHUDWLRQ
6WDUWLQJSRVLWLRQRIIROORZLQJD[LVDIWHUWKHV\QFKURQRXVSRVLWLRQ
Figure 2-55 Synchronization profile based on specifiable dynamic response parameters and
leading synchronization
● If necessary, the following axis can be accelerated directly to the synchronous velocity and
synchronous position (2).
● If the starting position of the following axis is below this point, a position difference must
also be applied with the specified dynamic values (3).
● If the starting position is above this point, reversing (i.e. traveling in the opposite direction)
is required in order to traverse to the synchronous point at the required synchronous velocity
(4).
Influence of starting position of the following axis with trailing synchronization
Together with the master value behavior, the starting position of the following axis relative to
the synchronous position on the following axis side largely determines the characteristic of the
trailing synchronization profile.
Example:
● Absolute 1:1 gear without offset
● Constant master value velocity
● Following axis at start of synchronization at standstill
● Synchronization profile based on dynamic response parameters
● Velocity profile type TRAPEZOID for synchronization
With this type of dynamic response-related synchronization, a master value position is defined
from which the synchronization procedure between the master value and following axis is
initiated. Here, the desynchronization operation itself is performed based on the dynamic
response value settings.
,WHP
6WDUWLQJ
SRVLWLRQRI
IROORZLQJD[LV
9HORFLW\ 7LPHU
0D[YHORFLW\DFFRUGLQJWR
G\QDPLFUHVSRQVHSDUDPHWHUV
=HURYHORFLW\FKDUDFWHULVWLF
/HJHQG 7LPHU
/HDGLQJD[LVZLWKFRQVWDQWYHORFLW\
)ROORZLQJD[LVDFFHOHUDWHVGLUHFWO\WRV\QFKURQRXVSRVLWLRQDQGYHORFLW\
)ROORZLQJD[LVPXVWFRPSHQVDWHSRVLWLRQGLIIHUHQFH
)ROORZLQJD[LVPXVWUHYHUVHWRFRPSHQVDWHIRUWKHWKHSRVLWLRQGLIIHUHQFH
Figure 2-56 Synchronization profile based on specifiable dynamic response parameters and trailing
synchronization
With trailing synchronization via dynamic response parameters, the "synchronous" status is
achieved at different times, depending on the starting position of the following axis.
Depending on the starting position of the following axis:
● If necessary, the following axis can be accelerated directly to the synchronous velocity and
synchronous position (2).
● If the starting position of the following axis is below this point, a position difference must
also be applied with the specified dynamic values (3).
● If the starting position of the following axis is above this point, reversing (i.e. traveling in the
opposite direction) is required in order to traverse to the synchronous point at the required
synchronous velocity (4).
2.2.14 Examples
Note
The function parameters that are not important to function calls are omitted from the
examples. The required parameters are entered directly.
retval:=_enablegearing (
followingObject:= <SYNCHRONOUSOBJECT>,
direction:=POSITIVE,
direction:=POSITIVE,
gearingType:=RELATIVE,
gearingMode:=GEARING_WITH_FRACTION,
gearingNumerator:=1,
gearingDenominator:=1,
synchronizingMode:=IMMEDIATELY,
syncProfileReference:=RELATE_SYNC_PROFILE_TO_LEADING_VALUE,
syncLengthType:=DIRECT,
syncLength:=20.0);
Parameters:
Gear ratio: 1:1
Reference point: Gearing relative to start position
Synchronization:
Synchronization reference: Leading axis
Start of synchronization: Synchronize immediately
Synchronization length: 20 mm
1) Start of synchronization
2) Master axis position
3) Following axis position
4) Synchronization status
1) Start of synchronization
2) Master axis velocity
3) Following axis velocity
4) Synchronization status
retval:=_enablegearing (
followingObject:= <SYNCHRONOUSOBJECT>,
direction:=POSITIVE,
gearingType:=ABSOLUTE,
gearingMode:=GEARING_WITH_FRACTION,
gearingRatioType:=DIRECT,
gearingNumerator:=1,
gearingdenominator:=1,
synchronizingMode:=ON_MASTER_POSITION,
syncPositionReference:=BE_SYNCHRONOUS_AT_POSITION,
syncProfileReference:=RELATE_SYNC_PROFILE_TO_LEADING_VALUE,
syncLengthType:=DIRECT,
synclength:=20.0,
syncPositionMasterType:=DIRECT,
syncPositionMaster:=80.0);
Parameters:
Gear ratio: 1:1
Reference point: gearing is made based on the axis zero point
Synchronization:
Synchronization reference: Leading axis
Start of synchronization: at leading axis position
Reference point of the leading axis position: Synchronize before synchronization position
Synchronization length: 20 mm
Leading axis position: 80 mm
1) Start of synchronization
2) Master axis position
3) Following axis position
4) Synchronization status
1) Start of synchronization
2) Master axis velocity
3) Following axis velocity
4) Synchronization status
retval:= _enablegearing(
followingObject:= <SYNCHRONOUSOBJECT>,
direction:=POSITIVE,
gearingType:=RELATIVE,
gearingMode:=GEARING_WITH_FRACTION,
gearingNumerator:=1,
gearingdenominator:=1,
synchronizingMode:=ON_MASTER_AND_SLAVE_POSITION,
syncPositionReference:=SYNCHRONIZE_WHEN_POSITION_REACHED,
syncProfileReference:=RELATE_SYNC_PROFILE_TO_LEADING_VALUE,
syncLengthType:=DIRECT,
synclength:=40.0,
syncPositionMasterType:=DIRECT,
syncPositionMaster:=100.0,
syncPositionSlaveType:=DIRECT,
syncPositionSlave:=30.0);
Parameters:
Gear ratio: 1:1
Reference point: Gearing relative to start position
Synchronization:
Synchronization reference: Leading axis
Start of synchronization: at leading axis position with offset
Offset: 30 mm
Reference point of the leading axis position: Synchronize from synchronization position
Synchronization length: 40 mm
Leading axis position: 100 mm
1) Start of synchronization
2) Master axis position
3) Following axis position
4) Synchronization status
1) Start of synchronization
2) Master axis velocity
3) Following axis velocity
4) Synchronization status
Note
Depending on the specified offset, the following axis may need to perform a reversing motion.
retval:=_enablegearing(
followingObject:= <SYNCHRONOUSOBJECT>,
direction:=POSITIVE,
gearingType:=ABSOLUTE,
gearingMode:=GEARING_WITH_FRACTION,
gearingNumerator:=1,
gearingdenominator:=1,
synchronizingMode:=ON_MASTER_POSITION,
syncPositionReference:=SYNCHRONIZE_WHEN_POSITION_REACHED,
syncProfileReference:=RELATE_SYNC_PROFILE_TO_TIME,
syncPositionMasterType:=DIRECT,
syncPositionMaster:=300.0,
velocityType:=DIRECT,
velocity:=300.0,
positiveAccelType:=DIRECT,
positiveAccel:=1000.0,
negativeAccelType:=DIRECT,
negativeAccel:=1000.0,
positiveAccelStartJerkType:=DIRECT,
positiveAccelStartJerk:=10000.0,
positiveAccelEndJerkType:=DIRECT,
positiveAccelEndJerk:=10000.0,
negativeAccelStartJerkType:=DIRECT,
negativeAccelStartJerk:=10000.0,
negativeAccelEndJerkType:=DIRECT,
negativeAccelEndJerk:=10000.0,
velocityprofile:=SMOOTH);
Parameters:
Gear ratio: 1:1
Reference point: gearing is made based on the axis zero point
Synchronization:
Synchronization reference: Timer
Start of synchronization: at leading axis position
Reference point of the leading axis position: Synchronize from synchronization position
Leading axis position: 300 mm
Dynamic response:
Velocity: 300 mm/s
Deceleration: 1000 mm/s²
Jerk: 10000 mm/ s³
Velocity profile: Constant
Note
For a motion with a continuous velocity profile, the enable of the jerk-limited synchronization
syncingMotion.smoothAbsoluteSynchronization:=YES with absolute synchronous operation
relationships should be set on the synchronous object.
1) Start of synchronization
2) Master axis position
3) Following axis position
4) Synchronization status
1) Start of synchronization
2) Master axis velocity
3) Following axis velocity
4) Synchronization status
1) Start of synchronization
2) Master axis acceleration
3) Following axis acceleration
4) Synchronization status
retval:=_enablegearing(
followingObject:= <SYNCHRONOUSOBJECT>,
direction:=POSITIVE,
gearingType:=ABSOLUTE,
gearingMode:=GEARING_WITH_FRACTION,
gearingNumerator:=1,
gearingDenominator:=1,
synchronizingMode:=ON_MASTER_POSITION,
syncPositionReference:=BE_SYNCHRONOUS_AT_POSITION,
syncProfileReference:=RELATE_SYNC_PROFILE_TO_TIME,
syncPositionMasterType:=DIRECT,
syncPositionMaster:=300.0,
velocityType:=DIRECT,
velocity:=300.0,
positiveAccelType:=DIRECT,
positiveAccel:=1000.0,
negativeAccelType:=DIRECT,
negativeAccel:=1000.0,
velocityProfile:=TRAPEZOIDAL);
Parameters:
Gear ratio: 1:1
Reference point: gearing is made based on the axis zero point
Synchronization:
Synchronization reference: Timer
Start of synchronization: at leading axis position
Reference point of the leading axis position: Synchronize before synchronization position
Leading axis position: 300 mm
Dynamic response:
Velocity: 300 mm/s
Deceleration: 1000 mm/s²
Velocity profile: Trapezoidal
1) Start of synchronization
2) Master axis position
3) Following axis position
4) Synchronization status
1) Start of synchronization
2) Master axis velocity
3) Following axis velocity
4) Synchronization status
1) Start of synchronization
2) Master axis acceleration
3) Following axis acceleration
4) Synchronization status
Scaling Offset
Master value 360 / 100 = 3.6 60
Slave value (220 - 40) / 100 = 1.8 40
In the following programming example, the offset and scale commands for the synchronous
object take effect at the subsequent activation of the camming:
offsetValue:= 60.0,
activationMode:= DEFAULT_VALUE
);
(*offset of the slave value*)
retval:= _setCammingOffset(
followingObject:= <SYNCHRONOUSOBJECT>,
offsetRange:= SLAVE_RANGE,
offsetMode:= ABSOLUTE,
offsetValue:= 40.0,
activationMode:= DEFAULT_VALUE
);
MCC programming
Parameters:
Range: Master Range
Offset: 3.6
Effect: on following commands
Parameters:
Range: slave range
Offset: 1.8
Effect: on following commands
Parameters:
Range: Master Range
Offset: 60.0
Mode: Absolute
Effect: on following commands
Parameters:
Range: slave range
Offset: 40.0
Mode: Absolute
Effect: on following commands
See also
Camming (Page 27)
retval := _setGearingOffset (
followingObject:= <SYNCHRONOUSOBJECT>,
offsetRange := MASTER_RANGE,
offsetMode := RELATIVE,
offsetValue := -50.0,
velocityType := DIRECT,
velocity := 300.0,
positiveAccelType := DIRECT,
positiveAccel := 3000.0,
negativeAccelType := DIRECT,
negativeAccel := 3000.0,
velocityProfile := TRAPEZOIDAL,
activationMode := ACTUAL_VALUE,
dynamicReference := TOTAL_MOVE / OFFSET_MOVE
);
Note
When the master value velocity is constant, the dynamic transitions have a generally identical
form and differ only as a result of the dynamic response parameters that act differently.
Figure 2-70 Leading and following axis position for dynamicReference:= TOTAL_MOVE
Figure 2-71 Leading and following axis velocity for dynamicReference:= TOTAL_MOVE
Figure 2-72 Leading and following axis position for dynamicReference:= OFFSET_MOVE
Figure 2-73 Leading and following axis velocity for dynamicReference:= OFFSET_MOVE
Figure 2-74 Redefining the leading axis position (absolute or relative gearing) -> The following axis
performs a compensation motion
Figure 2-75 Redefining the following axis position for the absolute gearing -> The following axis
performs a compensation motion
Figure 2-76 Redefining the following axis position for the relative gearing -> The following axis does
not perform a compensation motion
The existing synchronous connection remains active except in the following situations:
● Restart of following axis (_restartAxis())
● Invalid actual values on the following axis
When simulation mode is terminated, the current synchronous operation setpoints are applied
immediately as axis setpoints.
Remove the axis from the synchronous operation interconnection, and return it
Example:
Opening and closing protective doors
Procedure:
● Switch a relative position-controlled synchronous operation in between for one IPO cycle.
(mergeMode = IMMEDIATELY and then a waitTime with Time = 0 sec)
For the synchronization, the following axis uses the dynamic response values of the master
axis (increased by the overdrive factor) and travels with the maximum velocity of 300 mm/s.
2.2.15.7 Substitution of synchronous operation through _move, _pos, _stop with reset of an existing
acceleration to zero
Description
When a motion is replaced with the _stop(), _pos() and _move() functions and a smooth velocity
profile with jerk specification is applied during the axis acceleration phase, the velocity can
continue to increase until the acceleration is reduced by means of the jerk that 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 abortAcceleration parameter, you can set that a possible acceleration does not
exceed the jerk limitation, but is immediately cleared.
The abortAcceleration parameter is available for _stop() as of V4.2.1 and for _pos and
_move as of V4.4.
You will find more information in the TO Axis Electric/Hydraulic, External Encoder Function
Manual.
This section shows you how to create and configure axes with synchronous operation in
SIMOTION SCOUT.
It is assumed that you have already created cams, master axes, or external encoders.
Note
If the actual values/setpoints are required to be equal during a synchronous operation, the
same Ti (actual value acquisition) and To (setpoint acceptance) times must be adopted for
all drive units used (e.g. SINAMICS Integrated, CU320).
When configuring a synchronous operation, you must follow the steps below:
● Create an axis with synchronous operation functionality (Page 112).
● Assign master values and cams to the synchronized axis (Page 113).
● Assign synchronous operation parameters (Page 115).
● Define the settings for the synchronization procedure (Page 132).
● Define synchronous operation monitoring (Page 134).
Note
If synchronous operation technology is specified for an Axis technology object, the
synchronous object will be inserted together with the Axis technology object. The
synchronous object is permanently assigned to the Axis technology object. The name of
the synchronous object is automatically defined and cannot be changed.
It is not possible to subsequently convert a positioning or speed axis to a synchronous
axis.
It is not possible to add a synchronous object. Only a superimposed synchronous
operation can be added to the synchronous axis using expert (see Superimposed
synchronous operation (Page 71)).
Note
Synchronous operation is not possible if a master value is not assigned. Camming is not
possible if a cam is not assigned.
Assign the master values and cams to the following axis in this window.
You can set the following parameters:
Field/Button Explanation/instructions
Following axis The name of the following axis is displayed here.
Possible master The master values available in the project, which you can assign to the following
values (leading axis) axis, are listed here.
The master value can be specified by the following technology objects:
● Axis (real or virtual axis)
● External encoder
● Fixed gear
● Addition object
● Formula object
In accordance with the specified synchronous operation condition (e.g.
camming), the slave value is calculated on the basis of the master value and
assigned to the following axis as a leading value.
When more than one master value is assigned, you must specify which master
value is to be used by means of programming in SIMOTION SCOUT (e.g. with
MCC).
Possible cams Cams created in the project are listed here. You can assign cams to the
synchronous object for camming.
When more than one cam is assigned, you must specify which cam is to be
used by means of programming in SIMOTION SCOUT (e.g. with MCC).
1. Assign the desired master values to the axis with synchronous operation. You select the
current master value to be used in the user program (_setMaster).
2. Assign the desired cams to the axis with synchronous operation. You select the cam to be
used in the user program (_enableCamming).
3. For real axes or external encoders, select setpoint coupling or actual value coupling for
axes, or select actual value coupling or actual value coupling with extrapolation for external
encoders.
See Setpoint/actual value coupling (Page 36).
When the window is closed, the configuration is accepted and saved automatically.
In the project navigator, double-click Default under the object <Axis name>_SYNCHRONOUS
OPERATION to change the default settings.
Note
All tabs are always available for default settings. Only parameters used for the relevant
functionality are evaluated.
Further information
● For information about this function, refer to Overview of synchronous operation and
Fundamentals of synchronous operation.
● For information about programming, refer to Synchronous operation programming/
references (Page 136).
● The meaning of the dialog window parameters and their permissible value ranges can be
found in the SIMOTION reference lists.
2.3.3.1 Gearing
Gearing is characterized by a constant coupling between the master value source and following
axis. This coupling (via the gear ratio) can be specified as the ratio of two decimal numbers
(numerator/denominator) or as a floating-point number.
Gearing - default
In the Gearing tab, select the direction, absolute or relative synchronous operation and the
gear ratio. These settings are only relevant when gearing mode is used.
Field/Button Explanation/instructions
direction Here, you specify the direction of the gearing.
Gear type Here, you select the gear type (absolute or relative).
Gear ratio mode Specify the gear ratio mode here. Further parameters are displayed
depending on the selected mode (gear ratio as floating-point number or
gear ratio as numerator/denominator ratio).
Gear ratio You can enter the gear ratio as a floating-point number here.
Counter instructions Here, you can enter the numerator of the gear ratio in the form of a
numerator/denominator ratio.
Field/Button Explanation/instructions
Denominator Here, you can enter the denominator of the gear ratio in the form of a
numerator/denominator ratio.
Synchronization with look- You can set here whether a constant acceleration/deceleration of the
ahead master value is to be used for the synchronization.
See also
Gearing (Page 20)
Figure 2-83 Synchronous object: Default setting for synchronous velocity operation
Field/Button Meaning/Instruction
direction Specify the direction of the synchronous velocity operation here.
Gear ratio Enter here a coupling ratio for the synchronous velocity operation as
floating-point number.
See also
Velocity gearing (Page 26)
2.3.3.3 Camming
Camming is characterized by variable coupling between the master value source and the
following axis. The coupling is described by a cam (transmission function). Camming can be
scaled and offset on both the master value source side and on the following axis side. This
enables a cam to be custom-adjusted in its definition range and value range.
Camming - Default
On the Camming tab, the scaling and offset for each master axis and following axis are shown.
The Scaling and Offset setting can be made on the cam or via _setCammingScale or
_setCammingOffset. You select the direction, absolute or relative synchronous operation for
the master value and the slave value, as well as the cam mode. These settings are only relevant
when camming mode is used.
Field/Button Explanation/instructions
Leading axis
Scaling The scaling of the master value is displayed here.
Offset The offset of the master value is displayed here.
Following axis
Scaling The scaling of the following axis is displayed here.
Offset The offset of the slave axis is displayed here.
Camming direction Specify the direction in which the cam is run.
Master mode Specify the mode in which the master value runs through the cam (absolute or
relative).
Slave mode Specify the mode in which the following axis runs through the cam (absolute or
relative).
Cam mode Specify the execution type for the cam here (cyclic or non-cyclic).
Starting point in the Specify here for relative master value reference the reference of the master
cam for relative values by specifying a starting position (camStartPositionMaster) in the cam.
camming The position is always an absolute reference in relation to the definition range
of the cam.
See also
Camming (Page 27)
Field/Button Explanation/instructions
Synchronization Specify when synchronization of the following axis with the master value is
performed.
For more information, see Synchronizing the gear (Page 41)
Position reference Here, you specify the position of the synchronization profile relative to the
position of the synchronization point.
For more information, see Position reference during synchronization
(Page 123)
Synchronization Specify the synchronization direction here. See Synchronization direction
direction (Page 47).
Master value SyncPos Here, you enter the position of the synchronization point of the master value.
SyncPos slave axis Here, you enter the position of the synchronization point of the slave axis
Desynchronization Specify when desynchronization of the following axis with the master value
is performed.
For more information, see Desynchronizing the gear (Page 124).
Position reference Here, you specify the position of the desynchronization profile relative to the
position of the desynchronization point
For more information, see Position reference during desynchronization
(Page 124).
Desync. Master value Here, you enter the position of the desynchronization point of the master
value.
Desync. Following axis Here, you enter the position of the desynchronization point for the following
axis
Setting Meaning
Effective immediately Synchronization takes immediate effect.
The start point is derived from the position of the current master value.
The settings in Master value SyncPos and Following axis SyncPos are
not evaluated.
Default synchronization This setting is only appropriate for an absolute master value coupling.
position of the leading axis The synchronization depends on the position of the master value.
The synchronization position is specified in Master value SyncPos. The
setting in Following axis SyncPos is not evaluated.
Setting Meaning
Specified by the This setting is only appropriate for an absolute following axis.
synchronization position of The synchronization criterion depends on the position of the following
the following axis axis.
The synchronization position is specified in Following axis SyncPos. The
setting in Master value SyncPos is not evaluated.
Default synchronization This setting is only appropriate for an absolute master and an absolute
position of the leading axis following axis.
and following axis The synchronization depends on the position of the master value.
The synchronization position is specified in Master value SyncPos. In
addition, an offset is generated on the following axis via the setting in
Following axis SyncPos, i.e. the following axis does not synchronize to
the programmed slave position but to the Following axis SyncPos
position plus absolute position value of the following axis.
Last programmed setting Setting of the last active command
See also
Synchronization criterion/synchronization position (Page 43)
Setting Meaning
Synchronize from Synchronization starts at the synchronization position. The following axis
synchronization position runs synchronously after the synchronization length resulting from the
dynamic response data.
Synchronize before The synchronization is performed so that the following axis runs
synchronization position synchronously to the master value at the synchronization position. If the
following axis is stopped, it is accelerated before the synchronization
position so that it runs synchronously to the master value at the
synchronization position. The position at which the axis is accelerated is
the synchronization position minus the synchronization length.
Synchronize The synchronization is performed so that the synchronization position is
symmetrically to exactly in the middle of the synchronization length. Therefore, a stopped
synchronization position following axis is already accelerated before the synchronization position
and only runs synchronously to the master value after half the
synchronization length.
Last programmed setting Setting of the last active command
You will find further information in the section Position of synchronization range relative to
synchronization position (Page 48).
Setting Meaning
Effective immediately Desynchronization takes immediate effect.
Specified by the The desynchronization is performed as of the Master value desync value.
desynchronization The setting in Following axis desync is not evaluated.
position of the leading axis
Default The desynchronization is performed as of the Following axis desync value
desynchronization of the following axis.
position of the following The setting in Master value desync is not evaluated.
axis
Last programmed setting Setting of the last active command
See also
Desynchronization criterion/desynchronization position (Page 64)
Setting Meaning
Stop after The desynchronization is started at the desynchronization position.
desynchronization The desynchronization is completed after the synchronization length
position resulting from the dynamic response data.
Stop before The desynchronization is performed so that the desynchronization is
desynchronization completed at the desynchronization position.
position The position at which the desynchronization is started is the
desynchronization position minus the desynchronization length.
Stop symmetrically to The desynchronization is performed so that the desynchronization position
desynchronization is exactly in the middle of the desynchronization length.
position
See also
Position of synchronization range relative to desynchronization position (Page 65)
Field/Button Explanation/instructions
Synchronization Specify when synchronization of the following axis with the master value is
performed.
For more information, see Synchronizing the curve (Page 126).
Position reference Here, you specify the position of the synchronization profile relative to the
position of the synchronization point.
For more information, see Position reference during synchronization
(Page 123)
Synchronization Specify the synchronization direction (Page 47) here.
direction
Master value SyncPos Here, you enter the position of the synchronization point of the master value.
SyncPos slave axis Here, you enter the position of the synchronization point of the slave axis
Desynchronization Specify when desynchronization of the following axis with the master value
is performed.
For more information, see Desynchronizing the curve (Page 127).
Position reference Here, you specify the position of the desynchronization profile relative to the
position of the desynchronization point
For more information, see Position reference during desynchronization
(Page 124).
Desync. Master value Here, you enter the position of the desynchronization point of the master
value.
Desync. Following axis Here, you enter the position of the desynchronization point for the following
axis
See also
Synchronization (Page 41)
Setting Meaning
Effective immediately Synchronization takes immediate effect. The start point is derived from
the position of the current master value. The settings in Master value
SyncPos and Following axis SyncPos are not evaluated.
Default synchronization This setting is only appropriate for an absolute master value coupling.
position of the leading axis The synchronization depends on the position of the master value. The
synchronization position is specified in Master value SyncPos. The
setting in Following axis SyncPos is not evaluated.
Setting Meaning
Transition at the end of the This setting is only possible for a relative master value coupling. The
active cam synchronization criterion is the master setpoint position at the end of the
current cam disk cycle. The setting in Following axis SyncPos is not
evaluated.
Default synchronization This setting is only appropriate for an absolute master and an absolute
position of the leading axis following axis. Synchronization depends on the position of the master
and following axis value. The synchronization position is specified in Master value
SyncPos. In addition, an offset is generated on the slave axis via the
setting in SyncPos slave axis, i.e. the slave axis does not synchronize
to the programmed (e.g. via cam) slave position but to the position
SyncPos slave axis plus absolute position value of the slave axis in
relation to the cam.
Last programmed setting Setting of the last active command
See also
Synchronization criterion/synchronization position (Page 43)
Setting Meaning
Effective immediately Desynchronization takes immediate effect.
At position of the leading The desynchronization is performed as of the Master value desync value.
axis The setting in Following axis desync is not evaluated.
At position of the following The desynchronization is performed as of the Following axis desync value
axis of the following axis. The setting in Master value desync is not evaluated.
End of cam cycle The desynchronization is performed at the end of the current cam cycle.
Last programmed setting Setting of the last active command
See also
Desynchronization criterion/desynchronization position (Page 64)
● Time-related synchronization
● Compensatory motions on the synchronous object
You can set the following parameters:
Field/Button Explanation/instructions
Profile specification Specify the reference for the synchronization profile here.
Leading axis-related synchronization
Sync. Length Here, you enter the path length for synchronization.
Desync. Length Here, you enter the path length for desynchronization.
Time-related synchronization
Velocity profile Select the velocity profile here.
Velocity Enter the maximum velocity here.
Acceleration Enter the maximum acceleration here.
Deceleration Enter the maximum deceleration here.
Jerk Enter the maximum jerk here.
The synchronization length and desynchronization length are only evaluated for master-axis-
related synchronization profiles. Velocity profile, velocity, acceleration, deceleration and jerk
are only evaluated for time-related synchronization profiles.
See also
Synchronization (Page 41)
Figure 2-88 Synchronous object: Default setting for master dynamic response
Field/Button Explanation/instructions
Master switchover with dynamic response values
Velocity profile Select the velocity profile here.
Field/Button Explanation/instructions
Velocity Enter the maximum velocity here.
Acceleration Enter the maximum acceleration here.
Deceleration Enter the maximum deceleration here.
Jerk Enter the maximum jerk here.
See also
Switching over the master value source – Overview (Page 68)
Field/Button Explanation/instructions
Permit absolute synchronization with For absolute synchronization, the "Yes" setting of the jerk
provision for jerk is used.
If "No" is set, the set jerk will not be used in spite of velocity
profile = SMOOTH being selected. Travel follows a
trapezoidal path.
(syncingMotion.smoothAbsoluteSynchronization)
See also the section titled Trailing synchronization with
synchronization profile based on dynamic response
parameters (Page 53).
Adapt the dynamic response values for the Adaptation to the dynamic response in the synchronous
synchronization position (syncingMotion.synchronizingAdaption)
If "Yes" is set, the following parameter is available:
See also the section titled Synchronization profile based
on specifiable dynamic response parameters (time
reference) (Page 50).
Field/Button Explanation/instructions
Magnification factor for the dynamic Overdrive factor for the adapted dynamic response values
response values to compensate for a remaining path difference
(syncingMotion.overdriveFactor)
Value as percentage (%)
Reference to the current master value velocity for the
synchronization start.
See also the section titled Synchronization profile based
on specifiable dynamic response parameters (time
reference) (Page 50) as well as the section titled Adapt
the synchronization velocity to the master value velocity
(Page 107).
Tolerance for master direction reversal Tolerance window for canceling the synchronization for
direction reversal of the master values
(syncingMotion.masterReversionTolerance)
Position value in the user unit of the master values.
See also the section titled Settings for evaluation of the
master value behavior during synchronization (Page 55).
Permitted velocity change of the master Maximum permitted change of the master value velocity
without restarting for synchronization (syncingMotion.maximumOfMasterChange)
Refers to the current master value velocity for the
synchronization start.
Value as percentage (%).
See also the section titled Settings for evaluation of the
master value behavior during synchronization (Page 55).
See also
Dynamic response effect on slave values (Page 66)
Synchronization (Page 41)
Field/Button Explanation/instructions
Activate setpoint monitoring Activate the setpoint monitoring of the following axis here.
(TypeOfAxis.GearingPosTolerance. enableCommandValue)
Setpoint tolerance Specify the setpoint tolerance with activated setpoint monitoring.
(TypeOfAxis.GearingPosTolerance .commandValueTolerance)
Activate actual value monitoring Activate the actual value monitoring of the following axis here.
(TypeOfAxis.GearingPosTolerance. enableActualValue)
Actual value tolerance Specify the actual value tolerance with activated actual value
monitoring.
(TypeOfAxis.GearingPosTolerance. actualValueTolerance)
Signal error of the leading axis Specify here which tolerance-exceeded messages (actual values /
setpoints) are signaled to the leading axis.
Take into account that the tolerance-exceeded messages are signaled
to all higher-level leading axes (if, for example, the leading axis is also
a following axis in a synchronous operation configuration).
(TypeOfAxis.GearingPosTolerance. enableErrorReporting)
See also
Synchronous operation monitoring (Page 75)
Error handling (Page 146)
This chapter contains an overview of the Synchronous Operation technology object commands
and information on the local alarm response. For a complete list of all commands and their
syntax, the system variables and error messages, please see the SIMOTION Reference Lists.
See also
Overview of commands (Page 136)
Command processing (Page 141)
Error handling (Page 146)
Menus (Page 149)
ST commands
PLCopen commands
MultiAxis commands of PLCopen are relevant for synchronous operation. These commands
are provided for use in cyclic programs/tasks and enable motion control programming in a view
shaped by a PLC. They are used primarily in the LAD/FBD programming language. The
commands are certified in accordance with "PLCopen Compliance Procedure for Motion
Control Library V1.1".
Command Description
_MC_CamIn Synchronize and engage cam; included implicitly:
_MC_CamOut Desynchronize and disengage cam
_MC_GearIn Synchronize synchronous operation
_MC_GearOut Desynchronize synchronous operation
_MC_Phasing Phase offset
MCC commands
MCC commands are available for synchronous operation. For information on this see the
Programming and Operating Manual for the SIMOTION MCC Motion Control Chart.
System variables
The sequence of programmed commands can be read out by means of system variables; see
Monitoring the synchronization (Page 59).
● The limitActualValue variable indicates whether the actual value differences have exceeded
the maximum limit for synchronous operation errors.
● The differenceActualValue variable indicates the difference between the setpoint calculated
on the synchronous object and the actual value present in the interpolator. If a
superimposed motion is started on the following axis, it is not identical to the sum of
syncMonitoring.differenceCommandValue and
positioningState.differenceCommandToActual. This superimposed motion is fully
incorporated in the differenceActualValue variable and triggers monitoring on the actual
value side.
● The syncState variable indicates the synchronous operation state on the setpoint side.
During synchronizing and desynchronizing, syncState:=N/umc/interf/dsc/tech/to/gea/
sysvar.txt. The synchronous operation error on the setpoint side is the error resulting from
the setpoint limit on the maximum dynamic values of the following axis for the
synchronization component. The followingMotionState indicates the status of the
synchronous operation motions. The differenceCommandVelocity variable shows the
difference, during velocity synchronous operation, between the set velocity calculated on
the synchronous object and the set velocity that is executable on the axis taking into account
the dynamic limits.
● The differenceActualVelocity variable indicates the difference, during velocity synchronous
operation, between the set velocity calculated on the synchronous object and the actual
velocity present in the interpolator.
Additional references
You can find detailed information in both the Motion Control Technology Objects Axis Electric/
Hydraulic, External Encoder Function Manual and the SIMOTION reference lists.
Command advance
A criterion for the command advance is specified in the commands. If the condition for the
command advance is satisfied, the next command in the user program is executed. Specifying
a command advance condition in a command influences the time at which the next
programmed command will be executed.
6(48(17,$/
1(;7B027,21
0RWLRQFRPPDQGV &RPPDQGEXIIHU
,00(',$7(/< 0RWLRQFRPPDQGV
,QWHUSRODWRU
&RPPDQGEXIIHU
SDUDOOHO 1H[WFRPPDQG &XUUHQWFRPPDQG
HIIHFWLYHFRPPDQGV
The following special feature applies when motion commands are pending on the synchronous
object and on the axis in the same interpolation cycle clock:
● If mergeMode(axis)=SEQUENTIAL, the synchronous command is executed
● If mergeMode(axis)=IMMEDIATELY, the axis command is executed
Note
The stop responses are listed in order of increasing priority. Global alarm responses can be
set in the alarm configuration in the technology object; these can also be set to require Power
On. For further information, see the Motion Control Basic Functions Function Manual,
"Configuring technological alarms".
2.4.3.2 Local alarm reaction of the following axis and its mutual effects with the synchronous object
The synchronous object and the Axis TO have a reciprocal effect on each other depending on
their respective operating modes and which commands are in effect. Thus, errors and alarms
in the TO axis have a direct effect on the synchronous object functions. For example, if a
technology alarm triggers a stop response in the following axis, the synchronous motion is also
stopped. If an error is pending on the synchronous object only, the following axis can still
position but can no longer perform synchronous operation.
The following responses by the Axis TO, which can be read in the errorReaction system
variable, affect the synchronous object:
● MOTION_STOP
Controlled motion stop with programmed ramp values.
● MOTION_EMERGENCY_STOP
Controlled motion stop with maximum ramp values/limits for the axis.
● MOTION_EMERGENCY_ABORT
Controlled motion stop with maximum axis dynamic values (starting from the
current setpoint).
● FEEDBACK_EMERGENCY_STOP
Motion stop with preassigned braking ramp.
Note
Problems with FEEDBACK_EMERGENCY_STOP on the leading axis
Switchover to the actual value of the leading axis is performed. An existing setpoint-actual
value different results in a step response of the speed or position on the synchronous
object and therefore also on the synchronized axis.
● Configure Motion_Emergency_Abort on the master axis
● OPEN_POSITION_CONTROL
Motion stop with speed setpoint zero and abort.
● RELEASE_DISABLE
Motion disable with controller disable and abort of all commands.
Synchronous operation is aborted for all responses indicated.
Note
Errors on the synchronous object do not have any effect on the enables/error response of
the following axis.
Note
If the disableSynchronousOperation configuration data item is set to YES and simulation is
active on the synchronous object, the synchronous operation function is not aborted on the
stop response or when the _disableAxis command is executed.
The synchronous operation function is aborted with alarm "20005 Device type:..., log.
address:... failed" if no valid actual value is present, e.g. if the axis is restarted.
5HDFWLRQEHWZHHQOHDGLQJD[HVYLDXVHU $ODUP
SURJUDP (UURUWULJJHUHGRQVODYH
$ODUP
GXULQJV\QFKURQRXV
(UURUWULJJHUHGRQVODYH RSHUDWLRQ
GXULQJV\QFKURQRXV
RSHUDWLRQ
02 02
&RQILJXUDWLRQGDWD
*HDULQJ3RV7ROHUDQFH
HQDEOH(UURU5HSRUWLQJ
6LJQDOHUURU )ROORZLQJD[HVGHFHOHUDWHDWOHDGLQJ
D[LVUDPS
62 62 62 62
$ODUP
6\QFKURQRXV 6\QFKURQRXV
RSHUDWLRQWROHUDQFH RSHUDWLRQHUURU
H[FHHGHG )$ )$ )$ )$
(UURUUHDFWLRQ 020DVWHUREMHFW
62)ROORZLQJREMHFW
6\QFKURQRXVRSHUDWLRQ
)$)ROORZLQJD[LV
FRQQHFWLRQ
The starting point is a synchronous operation error in a following axis (synchronous operation
tolerance exceeded). Alarm 40201 "Synchronous operation tolerance of the gearing axis
exceeded" is issued. The following axis changes to STOP mode.
The leading axis/external encoder responds with an error. The alarm 40110 "Error triggered
on slave during synchronous operation (error number: ...) is signaled. The master object enters
the STOP state.
● The local following axes also change to STOP mode.
● However, distributed synchronized axes continue to follow the master setpoint if measures
are not taken in the user program to initiate an appropriate response to this error response.
Note
With V4.2 and higher, an error message is also output on the master object when the
following axis disconnects the synchronous coupling for any reason in the event of an
error.
2.4.4 Menus
Function Meaning/Note
Close Use this function to close the active window in the working area.
Properties Properties displays the properties of the synchronous object selected in the
project navigator. You can enter the object name plus author and version in
this window.
Configuration This function opens the configuration for the synchronous object selected in
the project navigator. Assign the master values and cams to the following axis
in this window.
Expert List This function opens the expert list for the synchronous object selected in the
project navigator. The configuration data and system variables can be
displayed and changed in this list; see Basic functions - Expert list.
Default setting This function opens the default settings for the synchronous object selected
in the project navigator. In this window, you define the replacement values for
calling synchronous operation functions (_enableGearing,
_enableVelocityGearing, and _enableCamming or _disableGearing,
_disableVelocityGearing, and _disableCamming).
Settings This function opens the settings for the synchronous object selected in the
project navigator. You can define some synchronization settings in this
window.
Interconnections This function opens the interconnections for the synchronous object selected
in the project navigator. You can see the inputs of the axis in this window.
Expert This function opens the submenu for the expert settings.
Configure units This function opens the Configure units of the object window in the working
area. You can configure the units used for the selected object here.
See also
Synchronous Operation Configuration (Page 111)
Function Meaning/Note
Open configuration This function opens the configuration for the synchronous object
selected in the project navigator. Assign the master values and cams to
the following axis in this window.
Default setting This function opens the default settings for the synchronous object
selected in the project navigator. In this window, you define the
replacement values for calling synchronous operation functions
(_enableGearing, _enableVelocityGearing, and _enableCamming or
_disableGearing, _disableVelocityGearing, and _disableCamming).
Settings This function opens the settings for the synchronous object selected in
the project navigator. You can define some synchronization settings in
this window.
Interconnections This function opens the interconnections for the synchronous object
selected in the project navigator. You can see the inputs of the axis in
this window.
Expert This function opens the submenu for the expert settings.
Insert script folder Insert script folder enables you to insert a folder for scripts.
Import object Use Import object to open a window for the XML import. You can define
the parameters for the XML import in this window.
Save project and export Use Save project and export object to open a window for the XML export.
object You can define the parameters for the XML export in this window.
Insert external master External master value (ExternalMasterType): Proxy object for an
value external master value.
See also
Synchronous Operation Configuration (Page 111)
This chapter describes the Distributed Synchronous Operation function (V3.0 and higher). It
introduces you to the operating principle and provides information about the technological
supplementary conditions as well as the operating characteristics of distributed synchronous
operation. You are shown how to create and configure a distributed synchronous operation.
Function overview
The Distributed synchronous operation functionality allows you to create a master value source
and a synchronized axis on different controls. In a project, it is possible to form function groups
and thus a machine structured on a modular basis. Synchronized axes no longer need to be
present in a single control, but can instead be distributed among several controls.
352),%86PDVWHU
352),%86VODYH 352),%86VODYH
)ROORZLQJ )ROORZLQJ
D[LV D[LV
Application
You can use distributed synchronous operation to create function groups in your project and
set up a machine on a modular basis. Instead of having to use the same control system to
control synchronously operating axes, you can now distribute the axes across a number of
modules.
Operating principle/Compensation
With distributed synchronous operation, the interpolator cycle clocks of the master object and
the following axis may be offset. As a result of the communication required, there is also an
offset in the calculation of related signals (master value source and remote following axis).
The cycle clock offset can be compensated using the following measures:
● Compensation on the master value side by means of setpoint output delay
● Compensation on the slave value side by means of master value extrapolation
See Compensations for distributed synchronous operation (Page 159).
See also
Fundamentals of Distributed Synchronous Operation (Page 153)
Distributed Synchronous Operation Configuration (Page 170)
Configuring distributed synchronous operation across projects (Page 179)
3.2.1.1 Rules for the communication/topology for distributed operation using PROFIBUS
The following rules apply for the PROFIBUS topology with distributed synchronous
operation:
● Distributed synchronous operation is only possible via equidistant master/slave
communication.
● The leading axis or external encoder must be located in the PROFIBUS master, and the
distributed following axis must be located in the PROFIBUS slave.
Further local synchronizations with the master control are possible.
● Distributed synchronous operation can only be created on one PROFIBUS level.
Consequently, cascaded distributed synchronous operation is not possible.
● Different IPO cycle clocks and position control cycle clocks can be used in the SIMOTION
devices involved.
● The same DP cycle clock must be used in the SIMOTION devices taking part in the
distributed synchronous operation.
Exception: See Cycle clock scaling for SIMOTION D in this chapter
02 0DVWHU&38
6ODYH&38V
62 62 )$ 62 62 )$ 62 62 )$
020DVWHUREMHFW
*HDUUDWLR/$Y/$
62)ROORZLQJREMHFW
Y/$9LUWXDOOHDGLQJD[LV
)$)ROORZLQJD[LV
Figure 3-2 Example of optimizing connections using virtual master axes on slave devices
The virtual master axes on each slave allow axis groupings of the individual machine modules
to also be operated "independently" (e.g. for the commissioning of individual modules).
Master-slave relationship
352),%86PDVWHU 352),%86VODYH
0DVWHU 0DVWHU
REMHFW REMHFW
352),%86VODYH 352),%86PDVWHU
352),%86PDVWHU
0DVWHU
REMHFW
352),%86VODYH
&DP )ROORZLQJ
REMHFW
)ROORZLQJ
D[LV
Figure 3-4 Following axis and synchronous object on the same control
Cascading
A distributed synchronous operation can be interconnected with a series-connected local
synchronous operation on the slave controller.
352),%86PDVWHU
0DVWHU
REMHFW
'LVWULEXWHGV\QFKURQRXVRSHUDWLRQ
352),%86VODYH
)ROORZLQJ )ROORZLQJ
REMHFW D[LV /RFDOV\QFKURQRXV
RSHUDWLRQ
)ROORZLQJ )ROORZLQJ
REMHFW D[LV
Figure 3-5 Cascading of distributed synchronous operation with series-connected local synchronous
operation
However, it is not possible to cascade two distributed synchronous operations one after the
other, i.e. the following axis in distributed synchronous operation 1 cannot be used as the
master axis in distributed synchronous operation 2. This is also true if the second PROFIBUS
interface configured as a master is used.
0DVWHU
REMHFW
0DVWHU
6ODYH
)ROORZLQJ )ROORZLQJ
REMHFW D[LV
0DVWHU
6ODYH
)ROORZLQJ )ROORZLQJ
REMHFW D[LV
No feedback
It is not permitted to configure distributed synchronous operation from Device1 to Device2 and
back again. This is true even if two appropriately configured PROFIBUS interfaces are used.
0DVWHU 6ODYH
6ODYH 0DVWHU
)ROORZLQJ )ROORZLQJ
REMHFW D[LV
/$
6\QFKURQRXVRSHUDWLRQFRQQHFWLRQ
0DVWHU 0DVWHU
352),%86 352),%86
,OOHJDO
6ODYH
6ODYH
62 62 62
/$ /$
6ODYH
6ODYH
62 62 62
/$/HDGLQJD[LV
62)ROORZLQJREMHFW
VDPH'3F\FOHVHTXLGLVWDQWDQGV\QFKURQL]HG
)$)ROORZLQJD[LV
Figure 3-8 PROFIBUS topology: Hierarchy with synchronized isochronous PROFIBUS interfaces
6,027,21&3'
,QW'3 PV DV'3PDVWHU
6HUYR PV
0DVWHULQWHUI
6\QFKURQRXVRSHUDWLRQVODYH
6ODYHLQWHUI
0DVWHULQWHUI
6,027,21'
'3GULYH 6HUYR PV DV'3VODYH
'3F\FOH
,QWGULYH
FORFN
,QW'3
3.2.1.2 Rules for the communication/topology for the distribution using PROFINET IO with IRT (V4.0
or later)
Distributed synchronous operation between SIMOTION devices via PROFINET IO with IRT
uses the controller-controller data exchange broadcast for PROFINET IO to exchange the
synchronous operation data.
Differences to PROFIBUS
Regarding distributed synchronous operation with PROFIBUS, see Rules for the
communication/topology for distributed operation using PROFIBUS in this chapter, the
following differences exist:
● Master object and following axis / synchronous object can be located on any controllers.
(PROFINET IO with IRT does not have any communications master and communications
slave as for PROFIBUS.)
● Cascading of distributed synchronous operations is possible over more than one level.
● Recursive interconnection with PROFINET is possible (see Note)
Note:
slave value compensation via master value extrapolation is possible.
Master value compensation by delaying setpoint output is not possible.
Note
For the following Control Units, a second Servo task is optionally available:
- SIMOTION D435-2 DP/PN (V4.3 and higher)
- SIMOTION D445-2 DP/PN (V4.2 and higher)
- SIMOTION D455-2 DP/PN (V4.2 and higher)
For further information see D4x5-2 Commissioning and Hardware Installation Manual and
Basic Functions Function Manual.
In a distributed synchronous coupling, calculation of related signals between the master value
source and the remote following axis is offset due to the distribution and the associated
communication requirements. Compensation of this offset is supported by the system.
The following compensation methods are available in the system:
● Compensation on the master value side by means of setpoint output delay on the
component that provides the master value for the distributed synchronous operation
● Compensation on the slave value side by means of master value extrapolation on the
component containing the remote slave objects
Note
For distributed synchronous operation with extrapolation on the following axis, the setpoint
monitoring with jerk setting is not appropriate.
The compensations are set and displayed via the system variable distributedMotion.
● The output delay is displayed on the leading axis.
● The master value delay is displayed on the synchronous object.
● The cycle clock offset is displayed on the synchronous object.
Sign-of-life monitoring is required for the compensation using master value extrapolation.
6HWWLQJ&RPSHQVDWLRQPRGHGLVWULEXWHG0RWLRQ
0DVWHU PDVWHUYDOXHGHOD\PDVWHUYDOXHH[WUDSRODWLRQRQVODYHREMHFW
REMHFW 'LVSOD\RIWKHVHWSRLQWGHOD\LQ
GLVWULEXWHG0RWLRQGHOD\2I&RPPDQG9DOXH2XWSXW
'HOD\LQPDVWHUYDOXHVWRIROORZLQJD[LV
)ROORZLQJ 'LVSOD\RIWKHPDVWHUYDOXHGHOD\RQWKH
REMHFW V\QFKURQRXVREMHFWLQGLVWULEXWHG0RWLRQ
WLPH'HOD\7R&RPPDQG9DOXH&DOFXODWLRQ
)ROORZLQJ
D[LV
'LVWULEXWLRQ
'LVSOD\RIWKHPDVWHUYDOXHGHOD\RQWKHV\QFKURQRXVREMHFWLQ
)ROORZLQJ GLVWULEXWHG0RWLRQWLPH'HOD\7R&RPPDQG9DOXH&DOFXODWLRQ
REMHFW 'LVSOD\RIWKHFORFNF\FOHRIIVHWEHWZHHQPDVWHUDQGVODYHLQ
GLVWULEXWHG0RWLRQRIIVHW9DOXH
)ROORZLQJ 1RRXWSXWGHOD\QRF\FOHFORFNRIIVHWLVGLVSOD\HG
D[LV
6WDUW 0DVWHUD[LVZLWKRXWFRPSHQVDWLRQ
/HDGLQJD[LV )ROORZLQJD[LV
/HDGLQJD[LV)ROORZLQJD[LVF\FOHFORFNRIIVHW
7LPHU
Figure 3-11 Distributed synchronous operation without setpoint output delay on the leading axis
side and without compensation on the following axis side
3RVLWLRQ
6WDUW /HDGLQJD[LV
/HDGLQJD[LV )ROORZLQJD[LV
/HDGLQJD[LV)ROORZLQJD[LVF\FOHFORFNRIIVHW
7LPHU
Figure 3-12 Master value extrapolation on the slave value side without setpoint output delay on the
master value side
3RVLWLRQ
/HDGLQJD[LVZLWK
VHWSRLQWRXWSXWGHOD\
)ROORZLQJD[LV
'HOD\LQVHWSRLQWRXWSXWRQOHDGLQJD[LV
7LPHU
Figure 3-13 Setpoint output delay on the leading axis side
Activating
● When output delay on the master value side is activated, the signal output on the master
value side is delayed by the calculated IPO clock cycles and any resulting IPO phase offset
is compensated by means of interpolation on the slave value side.
● When master value extrapolation on the slave value side is activated without output delay
on the master value side, the total cycle clock offset between the master value calculation
and the slave value calculation is compensated for by means of the master value
extrapolation on the slave value side.
Scope
● The setpoint output delay on the master value side is applicable to the following:
– Axis setpoints calculated directly on the leading axis that are delayed on the axis prior
to being passed on to the servo
– Axis setpoints calculated by local synchronous objects; the synchronous object forwards
the calculated setpoints to the axis
● Compensation on the slave value side by means of interpolation/extrapolation takes place
on the master value of the remotely interconnected synchronous object.
See also
Compensation on master value side by means of setpoint output delay (Page 162)
Compensation of the slave value side by means of master value extrapolation (Page 164)
Permissible combinations for cycle clock offset compensation in distributed synchronous
operation (Page 165)
Cycle clock offset calculation using a command (Page 166)
Activating compensation on the master value side by means of setpoint output delay
Master value compensation by delaying setpoint output is activated using the following
configuration data on the master axis and/or an external encoder:
● (TypeOfAxis.)distributedMotion.enableOffsetCompensation:=YES:Calculation of offset is
activated
● (TypeOfAxis.)distributedMotion.enableDelayOfCommandValueOutput:= YES:
Compensation on master value side is activated Delay to setpoint output on master value
side, simultaneous start and no overshoots. The local following axis also has a delayed start.
Disadvantage of "YES": There is less likely to be a response to an event on the master.
When activated, a setpoint output delay on the axis is always effective.
● enableDelayOfCommandValueOutput:= NO is used to deactivate compensation on the
master side. The master immediately outputs the setpoint value.
When activated, a setpoint output delay on the axis is always effective.
3.2.2.2 Compensation of the slave value side by means of master value extrapolation
When compensation on the master value side by means of setpoint output delay is not
activated, the compensation on the slave value side performs a linear extrapolation using the
two most recent master values received in order to compensate for the cycle clock offset.
In the event that master values are lost, the two most recent master values received are used
for the extrapolation.
Activating compensation on the slave value side using master setpoint extrapolation
Slave value compensation (interpolation/extrapolation) is activated using the following
configuration data on the master axis and/or an external encoder:
● (TypeOfAxis.)distributedMotion.enableOffsetCompensation:=YES: Calculation of offset is
activated.
● (TypeOfAxis.)distributedMotion.enableDelayOfCommandValueOutput:= NO:
Compensation on master value side is deactivated.
Cycle clock offset between master value calculation and slave value calculation
The clock cycle offset between the master value calculation and slave value calculation is
indicated on the synchronous object by means of the distributedMotion.offsetValue system
variable. The cycle clock offset displayed does not depend on the output delay on the master
value side.
Comment:
● All system variables on the master value source indicate the status or the respective value
across all interconnected following axes.
● All system variables on the synchronous object indicate the status or the respective value
for the interconnection with the current master value source.
3.2.2.3 Permissible combinations for cycle clock offset compensation in distributed synchronous
operation
The compensation settings are made on the master value side (on the master control) using
configuration data elements (TypeOfAxis.)-
distributedMotion.enableDelayOfCommandValueOutput and
(TypeOfAxis.)distributedMotion.enableOffsetCompensation.
The following combinations are possible:
Table 3-1 Permitted settings of compensation on the master value side and slave value side (setting
on the leading axis or external encoder)
enableOffset enableDelay
Compensation OfCommand
ValueOutput
NO NO No compensation activated
NO YES Not permitted. An output delay on the master value side
without interpolation on the remote following axis is not
permitted.
YES NO Linear extrapolation in the following axis on the last two
master setpoints using the cycle clock offset
YES YES Leading setpoint output delay in the local following axis,
linear interpolation in the following axis of the master
setpoints transmitted using the cycle clock and phase offset
See also
Rules for the communication/topology for the distribution using PROFINET IO with IRT (V4.0
or later) (Page 159)
If the life-sign counter values differ from the expected values, an error will be output. Life-sign
monitoring is only active if both SIMOTION devices are in RUN mode.
Note
A life-sign failure is not the same as an interrupted connection. The life-sign failure occurs if
the life-sign is not received by the communication partner. This is the case with IPO overflow,
for example. The connection is interrupted when the two communication partners are
physically separated from one another. Further information can be found under "Connection
interruption" in this chapter.
Failure limit
A parameter can be assigned to permit the life-sign to fail "n" times before an error response
is output. This is set using the (TypeOfAxis.)DistributedMotion.numberOfLifeSignFailures
configuration data (default: 1).
The failure limit can be set on the leading axis or external encoder and on the following axes.
Error reaction
An error response is triggered if the number of failures exceeds the parameterized value "n".
The life-sign error is indicated on the following axis and the leading axis/external encoder.
Consequently, the error reaction is applied to both of the following:
● Leading axis/external encoder: 40301 Loss of slave connection to the distributed control in
the distributed synchronous operation
● Following axis: 50201 Loss of connection on the assigned control to the master in the
distributed synchronous operation
Status signal
Life-sign monitoring must be activated on all participating objects or deactivated on all
participating objects. If this is not the case, a technological alarm is issued on the master axis/
external encoder or synchronous object to indicate that life-sign monitoring has been
deactivated:
● Leading axis/external encoder: 40302 Life-sign monitoring for slave deactivated in
distributed synchronous operation
● Following axis: 50202 Life-sign monitoring for master deactivated in distributed
synchronous operation
The distributedMotion.lifeSignError system variable on both the leading axis/external encoder
and synchronous object can be used to check whether life-signs have failed. When life-sign
monitoring is activated, the assigned tolerated life-sign monitoring failures in
(TypeOfAxis.)DistributedMotion.numberOfLifeSignFailures must be identical.
Connection interruption
If there is no axis error as subsequent error of synchronous operation monitoring, the following
steps must be complied with in the event of a connection interruption:
● The connection must be physically restored.
● Wait with the program execution until the offsets have been exchanged and the setpoint
output delay has been calculated (see System variables stateOfOffsetCalculation,
stateOfDelayValue).
● The synchronous operation must be enabled again.
Synchronization status
The following device-related system variables on the slave indicate the status of
synchronization:
● StateOfDpinterfaceSynchonization: only relevant if DP of PROFIBUS is equidistant
● StateOfDpSlaveSynchonization: only relevant if DP of PROFIBUS is not equidistant
master value noise for actual value coupling can cause a master value reversal due to
extrapolation.
See Actual value coupling with tolerance window (Page 40).
Error handling
During distributed synchronous operation, the following axis sends the "Synchronous
operation tolerance exceeded" error to the master axis. With V4.2 and higher, an error
message is also output on the master object when the following axis disconnects the
synchronous coupling for any reason in the event of an error. The error transfer must be
configured: By means of the synchronous operation monitoring wizard on the following axis of
the slave or by means of the TypeofAxis.GearingPosTolerance.enableErrorReporting
configuration data.
Other errors (e.g. if the following axis is unable to synchronize) are not communicated to the
master object. It is recommended that the 4xxxx errors be sent by the application to the master
via the bus.
In HW Config of the I-slave, for example, a byte can be added to the configuration created by
the system. This means that the following axis can report every error to the master axis by
means of an application.
Figure 3-14 Configuration of an error byte for signaling the leading axis
This section describes how to create and configure SIMOTION devices and objects with
distributed synchronous operation, and how to download them to the target system.
It is assumed that you have already created cams, master axes, or external encoders. A sample
project for distributed synchronous operation can be found in the FAQ on the SIMOTION
Utilities & Applications DVD.
To configure a distributed synchronous operation, you must carry out the following tasks:
● Creating SIMOTION devices with SCOUT (Page 170)
● Creating connections with HW Config (Page 170)
● Creating synchronous operation connections with SCOUT (Page 172)
● Synchronizing the interfaces (Page 177)
● Generating a synchronous operation configuration (Page 175)
● Identify Possible error (Page 175)
Note
The SIMOTION devices must always be created with the same kernel version for the
master and all slaves.
Note
Addresses entered by SIMOTION SCOUT for axis communication of distributed
synchronous operations in HW Config may not be changed.
Requirement
You have created a SIMOTION project containing two SIMOTION devices.
10.Establish a connection between the two devices (e.g. one byte for synchronization tasks
between user programs on the devices); alternatively, you can ignore compilation errors in
HW Config resulting from the absence of configured connections.
The connection is configured only once the axes on various devices in SIMOTION SCOUT
have been interconnected.
Following axis
1. Create a following axis (in the PROFIBUS slave if distribution is taking place via
PROFIBUS).
Make sure that Synchronous operation is activated as the technology when creating the
following axis.
Figure 3-17 Distributed synchronous operation: Connecting a leading axis to a following axis
Note
Only at this point can it be determined whether the network resources are sufficient. If they
are not, an error message will be generated to this effect. The compilation process must be
free of errors; otherwise, it will not be possible to download the project to the target system.
Note
There is no mechanism integrated into the SIMOTION Kernel for checking the consistency
of downloaded projects among multiple devices, e.g. during ramp-up. Consistent
downloading can only be achieved by means of "Download" in SIMOTION SCOUT.
Note
Do not change or delete the entries in the I/O PROFIBUS configuration generated
automatically by SIMOTION SCOUT. If you do, the distributed synchronous operation
connection can no longer be used.
Faulty/incomplete configuration
If the system detects a fault in the configuration, SIMOTION SCOUT will output an error
message during the compilation process.
If your commands include the object name of the master value source that is located on the other
SIMOTION device, you must specify the name of this device as a prefix (e.g. D445.axis_1)
If you require data from technology objects that are located on the other device, you can use
the application as a vehicle for this, by expanding synchronous operation communication
between the devices.
See also the section titled Error handling.
No compensation:
When TypeOfAxis.DistributedMotion.enableOffsetCompensation = NO and
TypeOfAxis.DistributedMotion.enableDelayOfCommandValueOutput = NO is activated on the
master axis, the function is the same as for compensation on the following value side.
If this is not the case (for example, if _enableGearing() is executed on the following axis even
though the master axis is not ready), the command is aborted with error "50102 Master is not
assigned/configured or is faulty (reason: ..." aborted).
3.5.1 Overview
With V4.1 and higher, it is possible to configure a distributed synchronous operation across
projects; this is carried out using proxy objects. The SIMOTION devices for the master object
and the following axis are located in separate SIMOTION projects.
In each case, there is a proxy "External Synchronous Operation" technology object, which is
assigned to the master axis, and a proxy "External Master Value" technology object, which is
assigned to the slave axis. The external interface of the proxy technology objects is formed by
means of coupling via I/O addresses. The network configuration must be set in HW Config.
The send and receive data must be interconnected with one another. From the point of view
of the runtime system, distributed synchronous operation and cross-project distributed
synchronous operation using proxy technology objects are identical.
,QWHUFRQQHFWLRQRIGLVWULEXWHGV\QFKURQRXV ,QWHUFRQQHFWLRQRIGLVWULEXWHGV\QFKURQRXV
RSHUDWLRQZLWKLQDSURMHFW RSHUDWLRQDFURVVSURMHFWV
'LVWULEXWHGV\QFKURQRXVRSHUDWLRQ
0DVWHUREMHFWSURMHFW
SURMHFW
'HYLFH 'HYLFH
0DVWHU 0DVWHU
REMHFW REMHFW ([WHUQDO
V\QFKURQRXV
RSHUDWLRQ
6\QFKURQL]HGD[LVSURMHFW
'HYLFH 'HYLFH
/RFDO /RFDO
([WHUQDO
PDVWHUREMHFW PDVWHUREMHFW
PDVWHUYDOXH
6\QFKUR
6\QFKUR
QRXVREMHFW
QRXVREMHFW
)ROORZLQJ )ROORZLQJ
D[LV D[LV
This figure shows the logic view of a synchronous operation interconnection. If the objects are
located in the same project, the master object (master) and the synchronous object (slave)
can be directly interconnected (see left-hand side of figure).
If the master object and synchronous object are in different SIMOTION devices that are not
located in the same project, they must be interconnected using proxy objects. In each case,
these represent the external object (see right-hand side of figure). External synchronous
operation reflects the "transmitter master value", whereas the external master value reflects
the "receiver master value".
This description uses the following terms:
The description below uses an example to explain how communication is configured for cross-
project distributed synchronous operation.
See also
PROFIBUS communication configuration (Page 181)
Communication configuration via PROFINET IO (Page 193)
Proxy objects (Page 206)
Introduction
If the SIMOTION devices are connected via PROFIBUS, data exchange takes place between
a DP master and a DP slave. The SIMOTION device for the "master object" project is
configured as the DP master and the SIMOTION device for the "synchronized axis" project is
configured as the DP slave. In the "master object" project, in order to configure data exchange
with the DP slave in the "synchronized axis" project the DP slave on the PROFIBUS line must
be configured with the "GSD file" of the SIMOTION device.
0DVWHUREMHFW6&287SURMHFWHJEDVLFPDFKLQH
'3PDVWHU
*6'
*6' *6'
6\QFKURQL]HGD[HV6&287SURMHFWVHJPDFKLQHPRGXOHV
'3VODYHV
Setting DP slave
1. Click the "Operating Mode" tab and activate "DP Slave".
Ensure that the option button "Programming, status/control or other PG functions and non-
configured communication connection possible" is not activated, deactivate it if necessary.
When the option is activated, no isochronous operation is possible.
2. Click the "Configuration" tab to create input and output addresses for communication.
Note
In this example, you enter 256 as the first available address. If you have already
configured other objects in the project, such as a drive, you will need to enter the first
potentially available address.
Please note that you will need the set input and output addresses later when
configuring the external master value in SIMOTION SCOUT.
4. Click "New...".
The "Properties - DP1 - (R0/S2.1) - Configuration - Line 2" window opens.
Enter the following settings for the output data:
– Address type: Output
– Address: 256
– Length: 12
– Unit: Word
– Consistency: Unit
, and click "OK" to confirm your settings.
Note
Please also note that, in addition to the data for the synchronous operation, you may
also want to transfer user data (communication between master and slave, such as
project-specific control and status data for synchronous axes) and will, therefore, need
to configure further lines with additional input and output addresses accordingly.
3. Click "OK" to confirm your settings. The new "Dummy master" station opens
4. In the hardware catalog, open "SIMATIC 300 > RACK 300". Double-click the "Mounting
rail". This is inserted in HW Config.
5. In the hardware catalog, open SIMATIC 300 > CPU 300 > CPU 316-2 DP > 6ES7
316-2AG00-0AB0. Select "V1.2" and move the module to its designated slot (highlighted
in green) using drag-and-drop.
The "Properties - PROFIBUS interface DP - (R0/S2.1)" window opens. It is not necessary
to set the operating mode for the dummy master.
6. Select PROFIBUS address 3 as the address. The PROFIBUS address of the dummy
master must be identical to that of the DP master in the "master object" project. You will
create the "master object" project later.
7. Click "New...". The "New" window opens.
8. Click the "Network settings" tab and set the recommended value of 12 MBit/s as the
transmission rate.
9. Click the "Options..." button. The "Options" window opens.
10.Activate the "Activate equidistant bus cycle" function and enter 3 ms for the "Equidistant
DP cycle". This value must also be set later in the "master object" project.
11.Click "OK" to confirm your settings in the open window, followed by the "Save" button.
12.Switch to SIMOTION SCOUT and save the "synchronous axis" project.
This concludes configuration of the DP slave communication in HW Config. The next step
involves creating the "master object" project in SIMOTION SCOUT; refer to the section
titled Creating and configuring a "master object" project (Page 189).
Setting DP Slave
1. In the hardware catalog, open "PROFIBUS DP > Additional field devices > PLC >
SIMOTION" and select "SIMOTION D4xx".
2. Using drag-and-drop, move "SIMOTION D4xx" (DP slave) to the "Synchronous operation:
DP master system (2)" subnet. The "Properties – PROFIBUS interface SIMOTION D4xx"
window opens.
3. Select PROFIBUS address 2 as the address and confirm the settings with "OK". This
PROFIBUS address must be identical to that of the DP slave in the "synchronous axis"
project.
4. Insert a 12-word module from the hardware catalog for the slave outputs first. Under
"SIMOTION D4xx" in the hardware catalog, select the "Master_O Slave_I 12Wo/Unit"
module and move it to its designated slot (highlighted in green) using drag-and-drop.
Note
Please note that the the inputs and outputs must always be configured in the opposite
direction. An input slot must always go to an output slot (and vice-versa). That means that
if the first slot is configured as an input in the "synchronous axis" project, then the first slot
in the "master object" project has to be configured as an output. The length of configured
inputs and outputs must always be identical.
The addresses for the inputs and outputs must lie above the first 64 bytes of the logic
address area. You will need this address again later for configuring the proxy object.
5. Under "SIMOTION D4xx" in the hardware catalog, select the "Master_I Slave_O 12Wo/Unit"
module and move it to its designated slot (highlighted in green) using drag-and-drop.
Introduction
If the devices are connected via PROFINET, data exchange takes place between an
IO controller and an I device. The I device must be taken into account during the configuration
of the IO controller by means of its GSDML file. The GSDML can be generated in HW Config
of the I device.
0DVWHUREMHFW6&287SURMHFWHJEDVLFPDFKLQH
,2FRQWUROOHU
*6'0/ *6'0/
*6'0/ *6'0/
,GHYLFH
)ROORZLQJD[HV6&287SURMHFWVHJPDFKLQHPRGXOHV
Figure 3-29 PROFINET distribution bus: HW configurations of the basic machine and modules
Note
The I device can be configured in STEP 7 V5.4 SP2 and higher.
Note
Distributed synchronous operation is also possible via 2 PN interfaces, see chapter Example
configuration for controlled Sync Master in the Communication System Manual.
Note
You can set the cycle clocks in two ways:
● You can set the send cycle clock so it is equal to the DP cycle clock on the drive.
● You can set the send cycle clock so that it is lower than the DP cycle clock: By opting
for this you will be working with cycle clock scaling. The position control cycle clock
(master application cycle) and the DP cycle on the drive must then be of an equal
length.
4. Activate the "I device mode", "Parameterization of the PN interface and its ports on the
higher level IO controller" and "Operate complete I device (all submodules) isochronously"
functions.
5. In the lower area of this same tab, click "New...".
The "Properties of virtual submodule" window opens.
6. Enter the following properties for the send and receive data:
– Address type: Input
– Start: 256
– Length: 24
and click "OK" to confirm your settings.
7. Click the "New..." button again to configure the output address as described below:
– Address type: Output
– Start 256
– Length 24
and click "OK" to confirm your settings.
You will need the set input and output addresses later to configure the proxy object in
SIMOTION SCOUT.
Note
Please note that, in addition to the data for the synchronous operation, you may also
want to transfer user data (communication between master and slave, such as project-
specific control and status data for synchronous axes) and will, therefore, need to
configure additional inputs and outputs accordingly.
Setting DP cycle
1. Double-click on SINAMICS_Integrated.
The "DP slave properties" window opens.
2. Click the "Isochronous operation" tab and set the "DP cycle" to factor 16. This corresponds
to a DP cycle clock of 2 ms.
3. Confirm your entry with "OK".
4. Click the "Save" button.
2. Click the "Create" button. This creates a GSDML file for the I device. You will need this file
as the proxy for the I device in the "master object" project on the PROFINET IO controller.
The name of the GSDML file is shown.
3. Click the "Install" button.
4. Click "OK" to confirm the message that appears, followed by the "Close" button. The
GSDML file will now be entered in the HW Config hardware catalog in the PROFINET IO
> Preconfigured Stations/D455 structure.
Note
If the project for the PROFINET IO controller is not to be executed with the same
engineering system, you must export the GSDML file. The GSDML file must then be
imported into HW Config of the other engineering system.
5. Set the required send cycle clock: In our example, this is 2 ms.
Note
When you insert the proxy for the I device, the logic addresses for the cyclic input and
output data of HW Config are preassigned. If necessary, correct these addresses before
continuing with the configuration of the proxy objects in SIMOTION SCOUT.
4. In this same window, click the "IO Cycle" tab and select the "Servo" entry in the "IO-Device/
assign isochronous application" drop-down list.
Setting DP cycle
1. Double-click the SINAMICS_Integrated.
The "DP slave properties" window opens.
2. Click the "Isochronous operation" tab and set the "DP cycle" to factor 16. This corresponds
to a DP cycle clock of 2 ms.
3. Confirm your entry with "OK".
Interconnecting ports
1. Interconnect the ports by double-clicking on port 1 of the PNxIE net in the rack.
The "Properties - PN-IO - Port 1 (R0/S2/X1400 P1 R)" window opens.
2. Click the "Topology" tab.
See also
Creating proxy objects (Page 206)
Configuring proxy objects with SIMOTION scripting (Page 211)
3. In the working area, enter the input and output addresses configured in HW Config. 256 is
set for the address in this example.
Figure 3-42 Proxy technology object - Setting the external master value
4. In the "Ext_master_value" window within the working area, enter the input and output
addresses that you set as input and output addresses in HW Config. 256 is set for the
address in this example.
Figure 3-43 Entering input and output addresses on the external master value
DriverInfo
logAddressIn Base address of the 12-word input data from HW Config
logAddressOut Base address of the 12-word output data from HW Config
Changing the logical input and output addresses in the SIMOTION project
An example is described below. The logical input address is changed to address 257 and the
output address to address 258.
Note
If the logical input and output addresses are changed with SIMOTION Scripting within the
SIMOTION SCOUT project, the project will no longer be consistent, as there is no automatic
alignment with HW Config. This means that you must automate the changes to the input and
output addresses in HW Config, for example via SIMATIC STEP 7 Scripting.
Proceed as follows to change the logical input and output addresses with SIMOTION Scripting:
1. In SIMOTION SCOUT, create a folder called SCRIPTS below the project. Select the name
of the project, open the context menu and click on Insert script folder.
2. Create a script.
3. Enter the following text:
– PROJ.TOs
("Ext_sync_operation").Symbols("DriverInfo.LogAddressIn") = 257
– PROJ.TOs
("Ext_sync_operation").Symbols("DriverInfo.LogAddressIn") = 258
3URMHFW
([W
HQFRGHU 3$ 3$ )$ )RUPXOD
REMHFW
)L[HG
62 62 62 62 JHDU
3$3RVLWLRQLQJD[LV
)$ (;6([WHUQDOV\QFKURQRXV
)$ )$ )$ RSHUDWLRQ
(;0([WHUQDOPDVWHUYDOXH
62)ROORZLQJREMHFW
3URMHFW )$)ROORZLQJD[LV
In order to interconnect multiple synchronous objects to one external master value, you must
create an additional synchronous operation with a virtual axis, to which the external master
value proxy object will be assigned. In this case, the additional virtual axis acts as a master
value source for multiple synchronous objects.
'HYLFH 'HYLFH
(;0
3$
62
(;6
Y)$
62 62
3$3RVLWLRQLQJD[LV
(;6([WHUQDOV\QFKURQRXVRSHUDWLRQ
(;0([WHUQDOPDVWHUYDOXH
62)ROORZLQJREMHFW )$ )$
)$)ROORZLQJD[LV
Y)$9LUWXDOIROORZLQJD[LV
The same also applies when different master objects can alternatively be the master value for
an external synchronous operation. In this case, an additional synchronous object with a virtual
axis must be provided to be interconnected with the master object. The external synchronous
operation is assigned to the virtual axis.
'HYLFH
([W
HQFRGHU 3$
'HYLFH
62 (;0
62
Y)$
(;6 )$
3$3RVLWLRQLQJD[LV
(;6([WHUQDOV\QFKURQRXVRSHUDWLRQ
(;0([WHUQDOPDVWHUYDOXH
62)ROORZLQJREMHFW
)$)ROORZLQJD[LV
Y)$9LUWXDOIROORZLQJD[LV
you want to switch to an external master value source, you must specify the name of the
external master value proxy object in the _setMaster command.
'HYLFH
(;0 ([W
([WHUQDOB
3$ PDVWHUB HQFRGHU
YDOXHB
$[LVB
62
(;6
)$
3$3RVLWLRQLQJD[LV
(;6([WHUQDOV\QFKURQRXVRSHUDWLRQ
(;0([WHUQDOPDVWHUYDOXH
62)ROORZLQJREMHFW
)$)ROORZLQJD[LV
'HYLFH
Figure 3-48 Synchronous operation with external and local master value source
This figure shows an example with interconnection to a local and external master value source.
In order to switch to the master value of Axis_1 with the _setMaster command, the name of
the Ext_master_value_1 proxy object must be specified in the command.
Function overview
The synchronous operation across multiple cycles functionality allows you to operate a master
value source and a synchronous axis in different IPO cycle clocks (IPO, IPO_2 and SERVO).
Example:
● Axis_1 is the master axis and is assigned to the IPO task.
● Axis_2 is the following axis and is assigned to the IPO_2 task.
$[LV
6\QFKURQRXV
([WHUQDO
REMHFW
(QFRGHU
,32
)ROORZLQJD[LV
,32
&DP 6\QFKURQRXV
REMHFW
)ROORZLQJD[LV
,32B
Figure 4-1 Example configuration of synchronous operation between IPO and IPO_2
Application
The synchronous operation across multiple cycles function enables the interpolator to be
placed in a cyclical system task with a greater cycle time for axes that do not require a high
time resolution for calculating the reference value. This reduces the required processor
performance.
In this way, it is possible to:
● Operate coupled axes on one device in different IPO cycle clocks
● Operate coupled axes on different devices in different IPO cycle clocks (synchronous
operation across multiple cycles can be combined with distributed synchronous operation).
Operating principle/Compensations
The phase error, which results from processing in a succession of different cycles, can be
compensated for in the same way as with distributed synchronous operation:
● Compensation on the master value side by means of setpoint output delay
● Compensation on the slave value side by means of master value extrapolation
Please see the section titled Running synchronous operation across multiple cycles
(Page 221).
,32[
/$
,32\
)$
)$ ,32[
)$ ,32\
)$ ,32[
/$/HDGLQJD[LV
)$)ROORZLQJD[LV
/$ ,32
6LQJOHWUDQVLWLRQ
:LWKH[WUDSRODWLRQVHWWLQJRQ
YLUW)$/$QRLQWHUDFWLRQ
RQOHDGLQJD[LV/$
YLUW)$/$ ,32B
)$ )$
,32 ,32
)$ )$Q
,32B ,32B
/$/HDGLQJD[LV
)$)ROORZLQJD[LV
● Distributed synchronous operation and synchronous operation across multiple cycles can
be combined.
Synchronous operation across multiple cycles is permitted both in the master system as
well as in the slave system.
For further information, see Rules for the communication/topology for distribution using
PROFIBUS. (Page 153)
● A distributed synchronous operation and an IPOx - IPOy transition is only possible between
a leading axis (Axis TO or External Encoder TO) and a synchronous object.
– A Fixed Gear TO, Addition Object TO, Formula Object TO, Closed-loop controller TO
cannot be at a transition, neither on the master value side nor on the slave value side.
– These technology objects may only be located in the action chain where there are no
transitions between distributed synchronous operation or IPO-IPO_2.
● Recursive interconnections which also contain IPOx - IPOy transitions are not prevented.
Please note, however, that:
When switching over during motion, the compensations will lead to a jump or a temporarily
constant position setpoint, and a loss in velocity as a result. (Although the monitoring
functions will remain active.)
Therefore, the IPOx- IPOy transitions in the recursive synchronous operation
interconnection should be switched during standstill only.
3RVLWLRQ
6WDUW
0DVWHUREMHFW 0DVWHUREMHFWLQ,32[
3RVLWLRQ 7LPHU
)ROORZLQJD[LVLQ,32\
&\FOHFORFNRIIVHW
7LPHU
Figure 4-4 Schematic representation of the clock cycle offset due to different interpolator clock cycles
Compensation
The offset can be compensated for in the same way as for distributed synchronous operation:
● Compensation on the master value side by means of setpoint output delay in the IPO cycle
clock that provides the master value for the distributed synchronous operation (master
CPU).
● Compensation on the slave value side by means of master value extrapolation in the IPO
cycle clock containing the slave objects (slave CPU).
The compensations are set and displayed via the system variable distributedMotion.
● The output delay is displayed on the leading axis.
● The master value delay is displayed on the synchronous object.
● The cycle clock offset is displayed on the synchronous object.
The details in Compensations for distributed synchronous operation apply accordingly.
Information on compensations
● Compensations can be set differently on different master objects.
● If "Extrapolation" compensation mode is selected, the output delay on the master is zero.
In this way, there is no effect on other higher-level master values and their compensation
calculation. This allows you to form axis groups.
● It is not possible to specify interpolation on the following axis without master value delay
on the leading axis.
● With the "No compensation" setting, the master values are taken over as the exist.
– Therefore a transition from the slower IPO to the faster IPO is possible but not technically
practical.
– A transition from the faster IPO to the slower IPO is possible, but is associated with a
phase offset.
Life-sign monitoring
The life-sign monitoring is also active for synchronous operation across multiple cycles and
takes effect, for example, with level overflows.
The details in Operating axes with distributed synchronous operation apply accordingly.
Note
If commands for the master value and the slave value are programmed in the same task, it
must be ensured that the commands are effective in the respective processing cycle clock.
If the master value is in a slower execution level than the slave value (e.g. IPO_2 to IPO), it
must be noted, for example, that a _redefinePosition to the master value for the slave value
only becomes effective at the IPO_2 cycle limit. This must be taken into account before issuing
an immediately following synchronize command.
Master object
1. Insert the leading axis or external encoder and configure it.
2. If required, insert cams and configure these.
Following axis
1. Create one or more following axes.
Make sure that Synchronous operation is activated as the technology on the following axes.
2. Configure the synchronous object.
Interconnect the synchronous object with the master object.
Configuration
1. In the context menu of the synchronous object, select Expert > Expert list; see Motion
Control Basic Functions, "Expert list".
2. Specify the required configuration (see Operation of synchronous operation across multiple
cycles (Page 221) and Compensations of the distributed synchronous operation
(Page 159)).
Function overview
The Cam technology object can be used to define a transmission function and apply it with
other technology objects. A cam describes the dependency of an output variable on an input
variable.
● An input variable could be the actual position of a master axis, a virtual master value source,
or the time.
● An output variable could be used as the set position of a following axis, the setpoint profile,
or the pressure/force profile.
The TO cam is a stand-alone technology object, which can be interconnected with other
technology objects.
Application
At present, a TO cam can be utilized with the following objects:
● With a synchronous object as a transmission function
● With a TO axis, e.g.
– As a velocity, position, or pressure profile
– As a valve characteristic curve in the hydraulic axis setting
Definition
A TO cam describes a function y = f(x) in sections. The sections can be defined by means of
interpolation points or segments (using polynomials). Cams are dimensionless. No physical
units are used to define them.
Exporting/importing cams
With CamEdit, you can export or import the geometry data of the cam.
Interpolation
If a cam is defined using segments, gaps in the definition range can be filled by interpolation.
If the cam is defined by interpolation points, the characteristic is interpolated. You can select
from a variety of interpolation methods. For additional information, see "Interpolation".
Reset
Resetting a cam causes the contents of the cam to be reset. The reset command deletes
previously defined interpolation points or segments. The reset command sets the scaling factor
to 1 and the offset to 0. If the cam is interpolated, it must be reset before definitions are made
in the user program.
Access protection
Only one write action can be performed on the cam at any one time. Any number of read
actions can be performed on the cam at any one time. Several write or read actions cannot
be performed at the same time.
5.2.1 Definition
\ I[
7UDQVPLVVLRQIXQFWLRQ
UDQJH
9DOXH
'HILQLWLRQUDQJH [
6WDUWLQJ (QGSRLQW
SRLQW
Table 5-1 Advantages and disadvantages of defining cams by means of interpolation points or segments
5.2.2 Normalization
When a cam is defined by means of segments, the individual cam segments can be in normal
form (normalized to 1), i.e. both the definition range and value range are contained within the
interval [0,1].
Alternatively, the segments can also be entered in the real range.
[ 2IIVHWRIGHILQLWLRQUDQJH
6FDOLQJRIYDOXHUDQJH2IIVHWRIYDOXHUDQJH
6FDOLQJRIGHILQLWLRQUDQJH
Scaling
The _setCamScale command scales a cam in the value range or definition range. Scaling is
applied when the command is successfully issued. Scaling takes place over the complete cam
or within a range defined by the starting and end points.
● With basic scaling, the entire cam can be scaled and offset.
● With range scaling, individual segments of a curve can be scaled and offset.
The zero point of the coordinate axes is used as the scaling point ("pivot point") for basic
scaling, whereas the starting point of the specified scaling range is used for range scaling. The
starting point of the range scaling can be greater than the end point. In this case, the larger
value is the pivot point for scaling (thus the starting point).
The following are possible for the x-axis and y-axis, respectively:
● One complete scaling
● Two range scalings
● One offset
The range scalings can overlap.
y y
3 3
2 2
1 1
0 1 2 3 4 5 x 0 1 2 3 4 5 x
Figure 5-4 Example of scaling of definition range in the range of 1 to 2.5 using a factor of 2
7ZRUDQJHVFDOLQJV
y y
2 2
4x
5DQJH[ 1 1
7RWDO[
5DQJH[ 2x
0 1 2 3 4 5 x 0 1 2 3 4 5 x
&RPSOHWHVFDOLQJ
6
5
3x4=12x
4
y
3 3
2 3x 2
3x
1 3x2=6x 1
3x
0 1 2 3 4 5 x 0 1 2 3 4 5 x
5HVXOWDQWVFDOLQJ
Figure 5-5 Example of two range scalings and a complete scaling in the value range
Scaling can be performed before or after segments and points are inserted or the interpolation
is performed. If scaling is performed after interpolation, however, there will be a discontinuity
in the first derivative of the cam (even if B-spline or C-spline interpolation is used).
Tip: To prevent this, scaling should begin and end in the dwell ranges.
Offset
The _setCamOffset command can be used to separately offset the domain and/or range of a
cam.
An offset can be specified as absolute or relative with respect to the current offset.
● With ABSOLUTE, the offset value applies instead of the previous offset value.
● With RELATIVE, the offset value is added to the current offset value.
5.2.4 Interpolation
If a curve is defined using segments, gaps in the domain can be filled by interpolation.
When the cam is defined using interpolation, the following checks are performed:
● A plausibility check is performed, i.e. the cam definition is checked.
(e.g. duplicated values in the in the definition range).
● Missing ranges are added (interpolated).
● Continuity and junction conditions in boundary points are checked.
Note
Once interpolation has been performed, new segments or interpolation points can only
be inserted after resetting the cam (see Commands for resetting the cam and errors
(Page 246)).
If an attempt is made to insert new segments or interpolation points without first resetting
the cam, the attempt is rejected and the return value for the function provides error
information. Previously defined interpolation points and segments are deleted when the
cam is reset.
Interpolation types
SIMOTION offers the following interpolation types for the Cam technology object:
Continuity check
A function with assigned parameters can be checked for continuity in the definition range and
value range, and possible points of discontinuity can be corrected. During this process, the
points of discontinuity are examined separately for the definition range and value range, and
are rated for one of the following corrective actions:
● If the absolute value of the spacing between segments exceeds a maximum value, a
correction is made by performing an interpolation between the two segments. This results
in insertion of a new segment.
6SHFLILFDWLRQ 5HVXOW
0LQ
0D[
● If the absolute value of the spacing between segments is greater than the minimum value
and less than the maximum value, correction is made by joining the segment end points.
The mean value of the spacing of the function is used for the correction. The shape of the
segments is affected as a result.
6SHFLILFDWLRQ 5HVXOW
0LQ
0D[
● If the absolute value of the spacing between segments or interpolation points is less than
the minimum value, a correction is not made. The discontinuity point is retained. When this
discontinuity point is accessed, the right boundary point is output.
6SHFLILFDWLRQ 5HVXOW
0LQ
0D[
The point of discontinuity is corrected according to the evaluation for the definition range and
value range.
Table 5-2 Boundary conditions for evaluation in the definition range or value range of the point of
discontinuity
Condition Result
Deviation < minimum Discontinuity retained
Minimum < deviation < maximum Join segment end points
Deviation > maximum Interpolation (new segment)
The correction is controlled (separately for definition range and value range) by specifying the
minimum and maximum shape deviation. This specification can be made on the
_interpolateCam command for interpolation of the cam.
Depending on the combined evaluation in the definition range and value range, the point of
discontinuity is corrected according to the following scheme:
Table 5-3 Combined evaluation for definition range and value range of point of discontinuity
Overlapping segments
In the case of overlapping segments, segment validity can be defined using the options listed
below.
● Segments after the segment starting points are valid
● Segments up to the segment end points are valid
● Valid segments are determined by the chronological order of insertion.
This behavior is set using the _resetCam command.
5.2.5 Inversion
Inverse mapping
For some applications, it is necessary to determine the master value for a defined slave value.
The master value can be retrieved using _getCamLeadingValue. This inverse mapping is only
unique in the case of strictly monotone output functions. In order to supply a master value for
output functions that are not strictly monotone, an x-value is specified, and the nearest solution
(in both directions) for a y-value is then sought for the specified x-value. If an x-value is not
specified, the search will begin from the starting point of the function.
\
[
[
\
Note
The inverted shape of the cam cannot be represented.
The VDI concept of working ranges and motion transitions is used to define a cam by means
of segments. The VDI Wizard can also be used for assistance in the creation of cams.
References
● VDI Guideline 2143, 1: Motion Laws for Cam Mechanisms - Basic Theory Düsseldorf:
published by VDI-Verlag, 1980
● Volmer, J. (edited.): Mechanism Design - Cam Mechanisms, 2. Ed. Berlin: Published by
Technik Verlag, 1989
See also
Motion tasks (Page 237)
Defining a cam for a motion task using segments (Page 239)
:RUNLQJUDQJHV
''ZHOO
9&RQVWDQW9HORFLW\
y
6ODYH
55HYHUVDO
? 00RWLRQ
?
x 0DVWHU
Figure 5-11 Working ranges in accordance with VDI
Example
R G U B
v=0 v≠0 v=0 v≠0
a=0 a=0 a≠0 a≠0
v=0 v=0 v=0 v=0
R a=0 a=0 a=0 a=0
Cams can be created with SIMOTION SCOUT or the optional SIMOTION CamTool add-on.
In addition, the curve characteristic can also be defined by a user program during runtime.
You must carry out the following tasks if you are configuring cams in SIMOTION SCOUT:
● Create the cam (Page 240).
● Define the cam (Page 241).
● Exporting/importing cams (Page 241)
● Interconnect the cam.
Cams are assigned in the respective application. For related information, refer to the
descriptions for the corresponding technology objects.
Description
With CamEdit, you can export or import the geometry data of the cam. For further information,
refer to the online help of the CamEdit cam editor.
Loading cams
With V4.2 and higher, an active, meshing cam can be loaded with CamEdit or by pressing the
Download button.
Meshing cams can, therefore, be modified in the engineering system and replaced online.
Neither the active camming motions nor active calculation of the valve characteristics are
interrupted.
With versions lower than V4.2, it is not possible to download meshing cams to the device.
See also
Commands for definition (Page 243)
Command Description
Message functions Commands for reading out function values (Page 245)
_getCamFollowingValue The _getCamFollowingValue command returns the cam value,
_getCamFollowingDerivative _getCamFollowingDerivative, the nth derivation for a specified value in the
_getCamFollowingMinMax definition range. The _getCamFollowingMinMax command returns (with V4.2 and
higher) the minimums and maximums of the cam or of an area of the cam and
the associated nth derivation in a specified section of the definition range.
_getCamLeadingValue _getCamLeadingValue returns the value in the definition range for the specified
value in the value range
Command tracking Commands for command tracking (Page 247)
_getStateOfCamCommand The _getStateOfCamCommand command returns a structure with the processing
status of a command.
_bufferCamCommandId With _bufferCamCommandId, the command status can be queried after
completion or an abort of the command.
_removeBufferedCamCommandId With _removeBufferedCamCommandId, the command should be explicitly
removed from the command management of the TO after evaluation is completed.
Geometry Commands for definition (Page 243)
_addSegmentToCam The _addSegmentToCam command provides you with the option to define a cam
profile in the user program on the basis of polynomial segments f = f(t).
_addPointToCam The _addPointToCam command provides you with the option to define a cam
profile in the user program on the basis of individual interpolation points.
_addPolynomialSegmentToCam The _addPolynomialSegmentToCam command creates a segment f = f(t),
consisting of a polynomial with a maximum of 6 degrees.
_interpolateCam Before a cam is used, it must first be interpolated with the _interpolateCam cam.
_setCamScale The _setCamScale command scales a cam in the range or domain.
See Scaling and offset (Page 229).
_setCamOffset The _setCamOffset command can be used to separately offset the domain and/
or range of a cam.
See Scaling and offset (Page 229).
See Chapter Scaling and offset
Object and Alarm Handling Commands for resetting the cam and errors (Page 246)
_getCamErrorNumberState The _getCamErrorNumberState command can be used to fetch the status of an
error number.
_resetCam The _resetCam cam resets the cam.
_resetCamError The _resetCamError command provides you with the option of acknowledging a
particular error or all pending errors on the cam.
Programming a cam
When the cam is created, the order in which the cam is edited plays a role. If the shape of the
cam is dependent on parameters and undergoes a change, the cam must be reset before each
redefinition using the _resetCam command. The cam can also be reset prior to the first
calculation without triggering an error message. This command "erases" the cam. This means
that the interpolation is cleared and the points and segments are removed. The technology
object is retained but is empty.
The interpolation points and/or segments are then placed side by side in the appropriate order.
As with CamEdit, the interpolation points can be in any order and will be sorted automatically.
● This is accomplished using the _addPointToCam command (addition of an interpolation
point), the _addSegmentToCam command (addition of a segment) or
_addPolynomialSegmentToCam (addition of a polynomial segment).
● Use the _resetCam command to define cam behavior for overlapping segments/ranges.
● If the shape of the cam is described completely, interpolation is performed using the
_interpolateCam command.
Subsequent addition of one or more points or segments, or modification of points or segments
is not possible. In this case, the cam must be reset and recreated.
Interpolation (_interpolateCam)
Before a cam is used, it must be interpolated. The interpolation defines the connections
between points, between segments and between a point and a segment.
For additional information, see Interpolation (Page 231).
System variables
The sequence of programmed commands can be read out by means of system variables; see
Monitoring the synchronization (Page 59).
The activeCam variable indicates the active cam on the synchronous object. The variable is
a read-only variable.
The activeMaster variable indicates the active master on the synchronous object. The variable
is a read-only variable.
Table 5-5 Modes of operation for the parameters associated with the _resetCam command for modifying a cam via the
user program (UP)
LOAD_CONFIGURED_DAT The currently effective cam is The currently effective cam is The active cam is retained.
A loaded and interpolated with loaded without interpolation The cam is reloaded in
the configured interpolation with the data specified by the parallel in the background
with the data specified by the ES. without interpolation with the
ES. It can then be modified via data specified by the ES and
(Also applies to < V4.2) the UP and subsequently can be modified via the UP. *)
interpolated. *) _interpolateCam() activates
the cam programmed in the
background.
MAINTAIN_PROGRAMMED Regardless of whether it is Regardless of whether it is The active cam is retained.
_DATA (V4.2 and higher) loaded from the ES or loaded from the ES or Regardless of whether it is
programmed via the UP, the programmed via the UP, the loaded from the ES or
currently effective cam is currently effective cam is programmed via the UP, the
interpolated with the current loaded without interpolation. cam is loaded in parallel in
interpolation settings. It can then be modified via the background without
the UP and subsequently interpolation. It can then be
interpolated. *) modified via the UP. *)
_interpolateCam() activates
the cam programmed in the
background.
BDGG3RLQW7R&DP &DPFDQEH
BDGG6HJPHQW7R&DP BUHVHW&DP
SURJUDPPHG
BLQWHUSRODWH&DP BUHVHW&DP
&DPFDQEH
HQDEOHG
The following commands and functions are active in the particular technology object states:
*1 _setCamScale
_setCamOffset
*2 _addPointToCam
_addSegmentToCam
*3 _getCamFollowingValue, _getCamFollowingDerivative
_getCamLeadingValue
*4 Error
In general, illegal parameters and commands do not affect the states of the technology object,
but they must be acknowledged using _resetCamError.
Figure 5-15 Programming and sequence model for a cam technology object
If commands that are not permitted in the technology object state are transmitted to the Cam
technology object, an error message is triggered, which requires an acknowledgment. The
technology object state, such as programmable or cannot be activated, is retained.
Cams can be read out from the controller and displayed graphically using CamEdit.
A cam is only calculated during runtime in the runtime system. If it is read out from the controller,
the calculated cam can be displayed graphically in CamEdit. If the cam is modified during
runtime and the original cam is going to be downloaded to the runtime system again, the cam
must be recompiled in SIMOTION SCOUT (otherwise, no change will be detected and the
download will be skipped).
By default, the cam is graphically displayed in the standard form in CamEdit. If scaling and/or
offsetting of the cam is required, display in scaled form must be explicitly enabled.
If the command _resetCam with the parameter camModify =
WITHOUT_INTERPOLATION_AND_HOLD_ACTIVE_CAM has been output in the user
program, the active cam disk will be retained. On read-out, the data of the cam disk loaded in
parallel in the background and modified via user program are fetched.
T
Tolerance window
for actual value coupling, 40
Topology
Distributed synchronous operation via
PROFIBUS, 153
V
VDI
Motion laws, 236
VDI Guideline 2143, 236
Velocity gearing, 14, 26
assigning parameters/defaults, 118